Re: [Pharo-project] NativeBoost and Cog. A working protype.

2010-10-01 Thread Schwab,Wilhelm K
Sig,

I'm pointing out that do it all in Smalltalk has limits, both in syntax (C++ 
is generally a better formula translator than Smalltalk; Smalltalk is better at 
expressing just about anything else) and in performance, unless you can stop 
boxing/unboxing the floats, which it sounds like you can't.

One performance penalty that I look forward to suffering is to have an external 
library calling into Pharo to do function evaluations.  In most cases, the 
number of operations will be small and the convenience of having the code in 
the image will be most welcome.

Bill




From: pharo-project-boun...@lists.gforge.inria.fr 
[pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Igor Stasenko 
[siguc...@gmail.com]
Sent: Thursday, September 30, 2010 9:20 PM
To: Pharo-project@lists.gforge.inria.fr
Subject: Re: [Pharo-project] NativeBoost and Cog. A working protype.

On 30 September 2010 22:56, Schwab,Wilhelm K bsch...@anest.ufl.edu wrote:
 Sig,

 Another question, and I don't know the answer yet, involves something that is 
 not done via NativeBoost but is instead just left to Cog to optimize.  Will 
 something like replacing a double array with log(abs(buffer[i])+1) be 
 reliably translated?  Some seem to be suggesting that stuff like that and 
 worse will just magically be as fast as if one took the time to code a C 
 function and put it in shared library.  Maybe it will.  Any ideas?

I'm not sure what you mean. Do you mean to make special #atLogAbs:
method, which reads an element from array , but before returning a
value calls log(abs(..))?
This will be faster with primitive, since smalltalk if you do that:
  result := ((array at: i) abs+1) log.
It has to do boxing/unboxing the floats at each send.


 Not long enough, I got the fail-over code for your PLUGIN (emphasis added) 
 will take care of it in response to questions about the vm's silent refusal 
 to load functions from a library that was in fact the sole platform support 
 for a piece of hardware.  Even if there were backup Smalltalk code to talk to 
 the device, it would not do the threading magic to run in the background, and 
 it would not be fast enough to do the job.

 Less extreme but just as important are functions for Fourier and Wavelet 
 Transforms, etc.  I try to find shared libraries for such things, but there 
 is invariably glue that might not be well supported and calls for some native 
 code of some type, whether that comes from Cog, NativeBoost, or another 
 function in a workhorse library of mine.

Not sure what you mean.


 Bill



 
 From: pharo-project-boun...@lists.gforge.inria.fr 
 [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Igor Stasenko 
 [siguc...@gmail.com]
 Sent: Thursday, September 30, 2010 2:37 PM
 To: Pharo-project@lists.gforge.inria.fr
 Subject: Re: [Pharo-project] NativeBoost and Cog. A working protype.

 On 30 September 2010 20:30, Schwab,Wilhelm K bsch...@anest.ufl.edu wrote:
 Work can be many things.  Complicated equations are often better expressed 
 in other languages, and where the line falls between having to deal with 
 another language and tool set and study results (which one ultimately has to 
 do anyway) vs. using Pharo's debugger to plow into what can be (can't 
 believe I'm saying thisg) a clumsy parenthesis-laden soup is hard to say.  
 Smalltalk is great at control flow, interfacing (GUI and otherwise) - just 
 about anything but looping over millions of bytes/ints/floats.

 The more I think about Cog and NativeBoost, the more I suspect I will find 
 that many snippets like below will not be needed.  One concern though: is 
 there any amount of work that has to be done before something gets 
 translated/cached as native code?  Depending on count, cache size, 
 granularity of the cached structures, it *might* be better to write the C 
 and put it in a library so there is no question what will run as native code.


 Its up to you, of course. The native code is held inside a compiled
 method(s), and once it generaetd not dismissed unless
 you instruct so. So, it doesn't matters how much time it takes to
 generate code, because it done once at first method invocation,
 and then dropped only if you change the method or do 'NativeBoost
 clearNativeCode'.

 Native code could even survive an image restarts, but i forcely
 clearing it when fresh image starts, because there is too much
 nuances, where it won't go (for instance, you were running image under
 Squeak VM, and then restarted it under Cog).

 Bill

 
 From: pharo-project-boun...@lists.gforge.inria.fr 
 [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Stephen Pair 
 [step...@pairhome.net]
 Sent: Thursday, September 30, 2010 11:33 AM
 To: Pharo-project@lists.gforge.inria.fr
 Subject: Re: [Pharo-project] NativeBoost and Cog. A working protype.

 On Wed, Sep 29, 2010 at 11:41 PM, Igor Stasenko 
 

Re: [Pharo-project] [BUG]Alien class(Object)error:

2010-10-01 Thread Fernando olivero
Hi Patricio, could you provide more information on the image you are using? And 
the vm ? and the OS ? 

It seems to be an Alien related problem, and not Lumiere related. The last time 
i've updated the Configuration's it was working , but somethings have changed 
regarding Alien.
You should check out the thread Alien Plugin for Linux.

Steps to go: 
1.  fix Alien
2.  make AlienOpenGL work
3. use Lumiere.

First try to have AlienOpenGL working, using the ConfigurationOfAlienOpenGL, 
once we get it working , then we go back to Lumiere.

( I'll will fix the ConfigurationOfLumiere in the meantime )

Thanks,
Fernando

pd: I would love to ditch AlienOpenGL as the OpenGL layer, and use the openGL 
port done by Igor using NativeBoost. It's more robust, faster and complete port.


On Sep 30, 2010, at 8:36 PM, Tudor Girba wrote:

 Welcome and thanks for the question. It would be so cool to get Lumiere back 
 to light :).
 
 Cheers,
 Doru
 
 
 On 30 Sep 2010, at 20:29, Stéphane Ducasse wrote:
 
 Welcome Patricio.
 
 Stef
 
 On Sep 30, 2010, at 6:31 PM, Patricio Plaza A. wrote:
 
 Hi,
 
 I'm trying to load Lumiére framework executing the script in a workspace 
 following the
 instruction in http://www.squeaksource.com/Lumiere/; but I'm getting some 
 warning and error during the installation.
 
 I'll appreciate any support to get successfully load of Lumiére.
 
 Best regards,
 
 Patricio.
 
 
 30 September 2010 12:12:37 pm
 
 VM: Mac OS - intel - 1064 - Squeak4.1 of 17 April 2010 [latest update: 
 #9957] Pharo Development 1.1
 Image: Pharo-1.1-11411 [Latest update: #11411]
 
 SecurityManager state:
 Restricted: false
 FileAccess: true
 SocketAccess: true
 Working Dir 
 /Users/pplaza/Documents/Pharo-1.1-OneClick.app/Contents/Resources
 Trusted Dir /foobar/tooBar/forSqueak/bogus
 Untrusted Dir /Users/pplaza/Library/Preferences/Squeak/Internet/My Squeak
 
 1)
 Message Warning:
 
 This package depends on the following classes:
 GluQuadricObject
 DisplayList
 You must resolve these dependencies before you will be able to load these 
 definitions:
 DisplayList classSidegenerateOn:evaluating:
 DisplayListgenerateOn:evaluating:
 GluQuadricObjectloadUnitAxisInto:
 
 2)
 Message Error:
 Alien class(Object)error:
 Receiver: Alien
 Arguments and temporary variables:
 aString:'SystemDictionaryrecreateSpecialObjectsArray 
 appears incompatible'
 Receiver's instance variables:
 superclass: ByteArray
 methodDict: a MethodDictionary(size 131)
 format: 1026
 instanceVariables:  nil
 organization:   ('accessing' address dataSize freeAfter: 
 pointer strcpy strcpyFro...etc...
 subclasses: {FFICallbackReturnValue. FFICallbackThunk}
 name:   #Alien
 classPool:  a Dictionary(#GCMallocedAliens-an 
 AlienWeakTable #PlatformSizes-ni...etc...
 sharedPools:nil
 environment:a SystemDictionary(lots of globals)
 category:   #'Alien-Core'
 traitComposition:   {}
 localSelectors: nil
 
 Alien classensureInSpecialObjectsArray
 Receiver: Alien
 Arguments and temporary variables:
 index:  53
 Receiver's instance variables:
 superclass: ByteArray
 methodDict: a MethodDictionary(size 131)
 format: 1026
 instanceVariables:  nil
 organization:   ('accessing' address dataSize freeAfter: 
 pointer strcpy strcpyFro...etc...
 subclasses: {FFICallbackReturnValue. FFICallbackThunk}
 name:   #Alien
 classPool:  a Dictionary(#GCMallocedAliens-an 
 AlienWeakTable #PlatformSizes-ni...etc...
 sharedPools:nil
 environment:a SystemDictionary(lots of globals)
 category:   #'Alien-Core'
 traitComposition:   {}
 localSelectors: nil
 
 Alien classinitialize
 Receiver: Alien
 Arguments and temporary variables:
 
 Receiver's instance variables:
 superclass: ByteArray
 methodDict: a MethodDictionary(size 131)
 format: 1026
 instanceVariables:  nil
 organization:   ('accessing' address dataSize freeAfter: 
 pointer strcpy strcpyFro...etc...
 subclasses: {FFICallbackReturnValue. FFICallbackThunk}
 name:   #Alien
 classPool:  a Dictionary(#GCMallocedAliens-an 
 AlienWeakTable #PlatformSizes-ni...etc...
 sharedPools:nil
 environment:a SystemDictionary(lots of globals)
 category:   #'Alien-Core'
 traitComposition:   {}
 localSelectors: nil
 
 MCMethodDefinitionpostloadOver:
 Receiver: a MCMethodDefinition(Alien classinitialize)
 Arguments and temporary variables:
   

Re: [Pharo-project] NativeBoost and Cog. A working protype.

2010-10-01 Thread Denis Kudriashov
Hello

2010/10/1 Schwab,Wilhelm K bsch...@anest.ufl.edu

 I'm pointing out that do it all in Smalltalk has limits, both in syntax
 (C++ is generally a better formula translator than Smalltalk; Smalltalk is
 better at expressing just about anything else)


 I have many complex math stuff implemented in smalltalk and C in
university. And my experience that no matter C or smalltalk you use for
formula (equation) programming. In any case it will be not math formula like
on paper. And readability will be bad. Debugging is bad because of complex
calculations and diffirences in math formula and program language analogue.
Just see fast fourier transformation. Equations is not so complex. But
programme implementation...

Ideally programming math formula or equation should not exists for user. You
just put native math formula presentation to system and get results.

Maybe similar solution exists?
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] NativeBoost and Cog. A working protype.

2010-10-01 Thread Fernando olivero
Just a thought, 

I would say that Lukas Helvetia framework could be used here,  to cleanly embed 
C++, C or whatever you like  syntax into the existing Smalltalk ambient.

So in the background NativeBoost would behave more uniformly, because 
everything in the end is smalltalk code.

Fernando


On Oct 1, 2010, at 8:39 AM, Schwab,Wilhelm K wrote:

 Sig,
 
 I'm pointing out that do it all in Smalltalk has limits, both in syntax 
 (C++ is generally a better formula translator than Smalltalk; Smalltalk is 
 better at expressing just about anything else) and in performance, unless you 
 can stop boxing/unboxing the floats, which it sounds like you can't.
 
 One performance penalty that I look forward to suffering is to have an 
 external library calling into Pharo to do function evaluations.  In most 
 cases, the number of operations will be small and the convenience of having 
 the code in the image will be most welcome.
 
 Bill
 
 ..



 
 From: pharo-project-boun...@lists.gforge.inria.fr 
 [pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Stephen Pair 
 [step...@pairhome.net]
 Sent: Thursday, September 30, 2010 11:33 AM
 To: Pharo-project@lists.gforge.inria.fr
 Subject: Re: [Pharo-project] NativeBoost and Cog. A working protype.
 
 On Wed, Sep 29, 2010 at 11:41 PM, Igor Stasenko 
 siguc...@gmail.commailto:siguc...@gmail.com wrote:
 On 30 September 2010 06:20, Schwab,Wilhelm K 
 bsch...@anest.ufl.edumailto:bsch...@anest.ufl.edu wrote:
 One really crazy idea: inline C.  Is there any way that one could put C 
 code into a method, have it compiled and captured somehow as part of the 
 image?  Perhaps I am underestimating Cog and will soon not need to bother 
 with stuff like this, but a recent addition was
 
 void LogOnePlus(double * data, unsigned long size)
 /*
   Add one and take log10() over the buffer; in-place transformation!
 */
 {
   for(unsigned long i=0; isize; i++){
   data[i] = log10(data[i]+1);
   }
 }
 
 That's a simple calculation, but do it millions of times and it adds up.  
 Even if Cog is sufficiently far reaching to translate such things, there 
 are still times when C/C++ does a far nicer job of translating formulas 
 than does Smalltalk.  Like I said, it's a crazy idea, and if I have to 
 choose, I'd rather have callbacks :)
 
 
 Of course its possible.
 After porting C parser/compiler into smalltalk :)
 Or perhaps some meta-language which looks like C, but which easier to
 translate to native code.
 


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Alien Plugin for Linux

2010-10-01 Thread Fernando olivero
Thanks for the information Noury!

Now we can safely assume the the official Alien package is in the Alien 
repository.

I will look into the answer from  Henrik, and try to have a cleaner Alien-Core 
package, with less overrides.

Fernando


On Sep 29, 2010, at 8:11 PM, Noury Bouraqadi wrote:

 HI Fernando,
 
 It was a bug fix. And we hadn't at that time access to the Alien repo for 
 saving it.
 Currently, we have a metacello config and it refers the alien repo.
 
 Noury
 On 29 sept. 2010, at 15:20, Fernando olivero wrote:
 
 A question to the Ocean developers,  why do have a particular Alien-Core 
 package in the ocean repo? (  Alien-Core-LucFabresse.64.mcz )
 
 Are there some fixes that could be included in the official package? Please 
 let me know so i can integrate them.
 
 I'm asking because i'm cleaning a bit the Alien mess, ( see previous mail) , 
 and would like to have a single working official Alien.
 
 Thanks,
 Fernando
 
 On Sep 29, 2010, at 12:56 PM, Fernando olivero wrote:
 
 This Error prevents from using Alien in the lastest Pharo image.
 
 I will try to fix this today.
 
 Also i will remove the ConfigurationOfAlien from the Alien repository, 
 because the version in MetacelloRepository should be used instead.
 So there are no future misunderstandings
 
 
 Thanks to Eliot,  and using his precompiled Vms for all platforms Alien 
 would be available now!
 (if the mentioned bug were fixed).
 
 
 Fernando
 
 
 On Sep 28, 2010, at 12:05 PM, Igor Stasenko wrote:
 
 On 28 September 2010 11:51, Henrik Johansen
 henrik.s.johan...@veloxit.no wrote:
 On Sep 28, 2010, at 10:34 16AM, Alberto Bacchelli wrote:
 
 On 9/27/10 8:13 PM, Eliot Miranda wrote:
 
 
 2010/9/27 Fernando 
 oliverofernando.oliv...@usi.chmailto:fernando.oliv...@usi.ch
 Does the  prebuilt CogVM  for linux include Alien support?
 http://www.mirandabanda.org/files/Cog/VM/VM.r2313/
 
 Only of the data manipulation and callout parts, not the callback 
 parts.  I'm trying to find time to work on integrating the Alien 
 callback machinery with the FFI.
 
 best
 Eliot
 
 We had a problem after installing Alien,
 when running the tests.
 
 The following does not understand
 
 MessageNotUnderstood: ArraycreateMethod:header:methodClass:
 
 sent by
 CompileMethod 
 classnewBytes:trailerBytes:nArgs:nTemps:nStack:nLits:primitive:
 
 It appears to be cog related, is it?
 
 Thank you,
 Alberto
 
 No, it's Method-trailer related.
 
 IIRC, the convention used to be to pass the empty trailer bytes #(0 0 0 
 0), find the offending sender and change it to pass CompiledMethodTrailer 
 empty instead.
 
 
 Right. A more compatible way is to use SomeClass defaultMethodTrailer
 Where SomeClass should be a class, where you installing this method.
 
 
 Cheers,
 Henry
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 
 
 -- 
 Best regards,
 Igor Stasenko AKA sig.
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12160

2010-10-01 Thread Marcus Denker
12160
-

Issue 3022: Custom help books should be able to define where subbooks 
should be placed/displayed
Issue 2980: dropping a text file into the host window raises an error

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Marcus Denker
Issue 3002: A new finalization code ready for integration in Pharo
Issue 3026: after 12172, sync with repository and reload

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [ANN 1.2] new pre-built 1.2Core#1272

2010-10-01 Thread Marcus Denker
https://gforge.inria.fr/frs/download.php/27544/PharoCore-1.2-12172.zip

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Levente Uzonyi

On Fri, 1 Oct 2010, Marcus Denker wrote:


Issue 3002: A new finalization code ready for integration in Pharo
Issue 3026: after 12172, sync with repository and reload


If you didn't fix the migration code, then WeakFinalizationRegistry is 
still in the system. Details here:


http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html


Levente



--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] ECompletion/OCompletion tests takes A LIFE!!

2010-10-01 Thread Levente Uzonyi

On Fri, 1 Oct 2010, Mariano Martinez Peck wrote:


Thanks to everybody. I did what you say and now

MessageTally time: [ECContextTest new testUntypedVarsOnly]   - 3023

I've just commited OCompletion.

And I didn't know TimeProfiler :)


If you download 
http://www.squeaksource.com/OCompletion/Ocompletion-ul.67.mcz you'll get 
better results:


[ ECContextTest new testUntypedVarsOnly ] timeToRun === 815


Levente



cheers

Mariano

On Tue, Sep 28, 2010 at 1:43 PM, Levente Uzonyi le...@elte.hu wrote:


On Tue, 28 Sep 2010, Henrik Sperre Johansen wrote:

 On 28.09.2010 01:43, Levente Uzonyi wrote:



On Tue, 28 Sep 2010, Henrik Sperre Johansen wrote:

 On 28.09.2010 00:41, Levente Uzonyi wrote:



On Tue, 28 Sep 2010, Henrik Sperre Johansen wrote:

 On 28.09.2010 00:07, Levente Uzonyi wrote:



On Mon, 27 Sep 2010, Mariano Martinez Peck wrote:

 2010/9/27 Levente Uzonyi le...@elte.hu


 On Mon, 27 Sep 2010, Mariano Martinez Peck wrote:


 IF you take a 1.1 core and just load OCompletion:



MessageTally time: [ECContextTest new testUntypedVarsOnly]  20907

If you load OCompletion and the rest of the dev image:

MessageTally time: [ECContextTest new testUntypedVarsOnly] 100137


However, IN pharo dev 1.0 it is

MessageTally time: [ECContextTest new testUntypedVarsOnly]  7405


sooo 

something has changed?



As I said, SortedCollection is not suitable for this kind of usage.




But in Pharo 1.0 OCompletion was doing the sameso?  did
SortedCollection
chang between 1.0 and 1.1?



No, something else changed. The same test is still 5x faster in 1.0
dev with the new code.


TimeProfiler to the rescue:
Preferences class  ecompletionCaseSensitive
1.0: (1725ms)
1.1 (19724ms)

PreferencesettingValue which is there for backwards-compatability in
1.1 does both symbol creation and respondsTo:, so yeah, it's much slower
than the old dictionary lookup.



Nice find. If you check my code, you'll find that I optimized that
away. :)


Levente


Yes ,you moved it out of the actual sort loop :)
Rewrite the methods in ECPreferences to use the new syntax:
preference: category: description: type:, and you shouldn't even have
to do that to get ok performance.

IMHO, it's rather disturbing to see things like EC, where its
preferences are actually separated tucked away in an ECPreferences class,
only to be delegated from there over to Preferences...



The preferences should be updated, but sending a message once is still
better than 2k-30k times.


Levente


Sure, on the order of a couple of milliseconds difference.
I keep forgetting the fact we generally have different definitions of what
constitutes ok performance ;)



30k was a bit optimistic assumption. For example the Pharo 1.1 OneClick
image has 3220 globals. The sortBlock asks for the preference twice per
evaluation. SortedCollection uses a binary search during #add:. If we are
optimistic, then the preference is asked 3220 * (3220 ln / 2 ln) * 2 times
which is ~75k.

In the same image the old code asked for the preference 2282899 times
during the tests, while the new code did it only 398 times. If the
preference is changed to return the value of a variable, then the difference
is only 80 ms, otherwise it's 36.6 seconds.


Levente




Cheers,
Henry

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Igor Stasenko
On 1 October 2010 12:06, Levente Uzonyi le...@elte.hu wrote:
 On Fri, 1 Oct 2010, Marcus Denker wrote:

 Issue 3002:     A new finalization code ready for integration in Pharo
 Issue 3026: after 12172, sync with repository and reload

 If you didn't fix the migration code, then WeakFinalizationRegistry is still
 in the system. Details here:

 http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html

You mean this not work:
Smalltalk forgetClass: #WeakFinalizationRegistry logged: false.

should be
Smalltalk forgetClass: WeakFinalizationRegistry logged: false.

right?


 Levente


 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] PluggableListMorphByItem getCurrentSelectionIndex access directly a non-initailized instance variable

2010-10-01 Thread Cyrille Delaunay
In pharo 1.2, MorphicToolBuilderTests  testGetListSelection raise an
error. This error is caused by PluggableListMorphByItem 
getCurrentSelectionIndex, which looks like that:

   getCurrentSelectionIndex
Answer the index of the current selection.
| item |
getIndexSelector == nil ifTrue: [^ 0].
item := model perform: getIndexSelector.
^ list findFirst: [ :x | x = item].

list is nil when runing the test. I guess that a better way is to use
the accessor 'getList'. This method seems to make the correct
initializations befor retrning the instance variable 'list'.
When replacing by:

   getCurrentSelectionIndex
Answer the index of the current selection.
| item |
getIndexSelector == nil ifTrue: [^ 0].
item := model perform: getIndexSelector.
^ self getList findFirst: [ :x | x = item].

The test pass.

I opened an issue: http://code.google.com/p/pharo/issues/detail?id=3028
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] SystemVersionTesttestDowngrade use a deprecated method

2010-10-01 Thread Cyrille Delaunay
The test SystemVersionTesttestDowngrade use SytemVersion  version,
which is deprected. It raise a warning when running the tests in a
pharo 1.2 core image.

I opened an issue:
http://code.google.com/p/pharo/issues/detail?id=3025colspec=ID%20Type%20Status%20Summary%20Milestone%20Difficultystart=300
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] TextLint questions and feedback

2010-10-01 Thread Jorge Ressia
Hi,

We did a change in the way the files are opened.
We could not reproduce the same issue but we could manage to reproduce
other encoding issues.
So, please try your file again and let us know.

Cheers,

2010/9/30 Mariano Martinez Peck marianop...@gmail.com:


 On Thu, Sep 2, 2010 at 5:13 PM, Mariano Martinez Peck
 marianop...@gmail.com wrote:

 Sorry, I forgot another bug. A piece of my latex is like this:

 \authorinfo{
     Mariano Martinez Peck\affINRIA\affEMD \and
  Noury Bouraqadi\affEMD \and
  Marcus Denker\affINRIA \and
  St\'ephane Ducasse\affINRIA \and
  Luc Fabresse\affEMD
 }{
     $^1$RMoD Project-Team, Inria Lille--Nord Europe / Universit\'e Lille 1
 \\
     $^2$Universit\'e Lille Nord de France, Ecole des Mines de Douai
 }{marianop...@gmail.com,
 \{stephane.ducasse,marcus.denke...@inria.fr,\\\{noury.bouraqadi,luc.fabress...@mines-douai.fr}
 \maketitle


 I don't know why...but once I saved the file, the image frezzed for a
 long time, and then, if finished and that part was replaced by this:


 \authorinfo{
     Mariano Martinez Peck\affINRIA\affEMD \and
  Noury Bouraqadi\affEMD \and
  Marcus Denker\affINRIA \and
  St\'ephane Ducasse\affINRIA \and
  Luc Fabresse\affEMD
 }{
     $^1$RMoD Project-Team, Inria Lille--Nord Europe /
 

[Pharo-project] [update 1.2] #12173

2010-10-01 Thread Stéphane Ducasse
12173
-

- Issue 3003: handleDisabledKey: is missing in Editor and subclasses
- Issue 2963: systemOrganizer fixes. Thanks German Leiva and James Foester

Stef

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] CodeMorph text should return an instance of Text but return a String

2010-10-01 Thread Cyrille Delaunay
In pharo 1.2, NewTextMorphTests#testFullMethodName raise an error.
This error happen when calling:

   CodeMorph  defaultStyledText
| text attribute |
text := self text.
text addAttribute: ( self newTextColorAttribute: Color black ).
^ text.

text is a string, and therefore it does not understand 'addAttribute'.
The value return by 'text' depends on the value of the instance
variable 'adapter'. adapter can have different values according the
way we initialize the CodeMorph. One of them is:

  beFullMethodName
aspect := #selector.
adapter := [:selector| target methodClass name , '.' , self
selectorWithArguments ].

The block return a String and I guess the right code should be

beFullMethodName
aspect := #selector.
adapter := [:selector| (target methodClass name , '.' , self
selectorWithArguments) asText ]

??.


I opened an Issue: http://code.google.com/p/pharo/issues/detail?id=3031
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] CodeMorph text should return an instance of Text but return a String

2010-10-01 Thread Cyrille Delaunay
I just saw that there is propositions to remove CodeMorph:

http://code.google.com/p/pharo/issues/detail?id=2902q=CodeMorphcolspec=ID%20Type%20Status%20Summary%20Milestone%20Difficulty

So maybe the best fix will be to remove all the tests related ? :)

2010/10/1 Cyrille Delaunay cy.delau...@gmail.com

 In pharo 1.2, NewTextMorphTests#testFullMethodName raise an error. This 
 error happen when calling:

CodeMorph  defaultStyledText
   | text attribute |
   text := self text.
   text addAttribute: ( self newTextColorAttribute: Color black ).
   ^ text.

 text is a string, and therefore it does not understand 'addAttribute'. The 
 value return by 'text' depends on the value of the instance variable 
 'adapter'. adapter can have different values according the way we initialize 
 the CodeMorph. One of them is:

   beFullMethodName
   aspect := #selector.
   adapter := [:selector| target methodClass name , '.' , self 
 selectorWithArguments ].

 The block return a String and I guess the right code should be

 beFullMethodName
   aspect := #selector.
   adapter := [:selector| (target methodClass name , '.' , self 
 selectorWithArguments) asText ]

 ??.


 I opened an Issue: http://code.google.com/p/pharo/issues/detail?id=3031


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] ECompletion/OCompletion tests takes A LIFE!!

2010-10-01 Thread Mariano Martinez Peck
On Fri, Oct 1, 2010 at 11:08 AM, Levente Uzonyi le...@elte.hu wrote:

 On Fri, 1 Oct 2010, Mariano Martinez Peck wrote:

  Thanks to everybody. I did what you say and now

 MessageTally time: [ECContextTest new testUntypedVarsOnly]   - 3023

 I've just commited OCompletion.

 And I didn't know TimeProfiler :)


 If you download
 http://www.squeaksource.com/OCompletion/Ocompletion-ul.67.mcz you'll get
 better results:

 [ ECContextTest new testUntypedVarsOnly ] timeToRun === 815


Excellent. Thanks Levente



 Levente



 cheers

 Mariano

 On Tue, Sep 28, 2010 at 1:43 PM, Levente Uzonyi le...@elte.hu wrote:

  On Tue, 28 Sep 2010, Henrik Sperre Johansen wrote:

  On 28.09.2010 01:43, Levente Uzonyi wrote:


  On Tue, 28 Sep 2010, Henrik Sperre Johansen wrote:

  On 28.09.2010 00:41, Levente Uzonyi wrote:


  On Tue, 28 Sep 2010, Henrik Sperre Johansen wrote:

  On 28.09.2010 00:07, Levente Uzonyi wrote:


  On Mon, 27 Sep 2010, Mariano Martinez Peck wrote:

  2010/9/27 Levente Uzonyi le...@elte.hu


  On Mon, 27 Sep 2010, Mariano Martinez Peck wrote:


  IF you take a 1.1 core and just load OCompletion:


 MessageTally time: [ECContextTest new testUntypedVarsOnly]
  20907

 If you load OCompletion and the rest of the dev image:

 MessageTally time: [ECContextTest new testUntypedVarsOnly]
 100137


 However, IN pharo dev 1.0 it is

 MessageTally time: [ECContextTest new testUntypedVarsOnly]  7405


 sooo 

 something has changed?


  As I said, SortedCollection is not suitable for this kind of
 usage.



 But in Pharo 1.0 OCompletion was doing the sameso?  did
 SortedCollection
 chang between 1.0 and 1.1?


 No, something else changed. The same test is still 5x faster in 1.0
 dev with the new code.

  TimeProfiler to the rescue:
 Preferences class  ecompletionCaseSensitive
 1.0: (1725ms)
 1.1 (19724ms)

 PreferencesettingValue which is there for backwards-compatability
 in
 1.1 does both symbol creation and respondsTo:, so yeah, it's much
 slower
 than the old dictionary lookup.


 Nice find. If you check my code, you'll find that I optimized that
 away. :)


 Levente

  Yes ,you moved it out of the actual sort loop :)
 Rewrite the methods in ECPreferences to use the new syntax:
 preference: category: description: type:, and you shouldn't even
 have
 to do that to get ok performance.

 IMHO, it's rather disturbing to see things like EC, where its
 preferences are actually separated tucked away in an ECPreferences
 class,
 only to be delegated from there over to Preferences...


 The preferences should be updated, but sending a message once is still
 better than 2k-30k times.


 Levente

  Sure, on the order of a couple of milliseconds difference.
 I keep forgetting the fact we generally have different definitions of
 what
 constitutes ok performance ;)


 30k was a bit optimistic assumption. For example the Pharo 1.1 OneClick
 image has 3220 globals. The sortBlock asks for the preference twice per
 evaluation. SortedCollection uses a binary search during #add:. If we are
 optimistic, then the preference is asked 3220 * (3220 ln / 2 ln) * 2
 times
 which is ~75k.

 In the same image the old code asked for the preference 2282899 times
 during the tests, while the new code did it only 398 times. If the
 preference is changed to return the value of a variable, then the
 difference
 is only 80 ms, otherwise it's 36.6 seconds.


 Levente



  Cheers,
 Henry

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


  ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] [update 1.2] #12174

2010-10-01 Thread Marcus Denker
12174
-

Issue 2713: Changelist deserves some fixes
Issue 3030: Remove Explain... code (again)
Issue 3023: change the initial windows position strategy
Issue 3028: PluggableListMorphByItem  getCurrentSelectionIndex access 
directly a non-initailized instance variable
--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Levente Uzonyi

On Fri, 1 Oct 2010, Igor Stasenko wrote:


On 1 October 2010 12:06, Levente Uzonyi le...@elte.hu wrote:
On Fri, 1 Oct 2010, Marcus Denker wrote:


Issue 3002:     A new finalization code ready for integration in Pharo
Issue 3026: after 12172, sync with repository and reload


If you didn't fix the migration code, then WeakFinalizationRegistry is still
in the system. Details here:

http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html


You mean this not work:
Smalltalk forgetClass: #WeakFinalizationRegistry logged: false.

should be
Smalltalk forgetClass: WeakFinalizationRegistry logged: false.

right?


Yes.


Levente



Levente



--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





--
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Igor Stasenko
2010/10/1 Levente Uzonyi le...@elte.hu:
 On Fri, 1 Oct 2010, Igor Stasenko wrote:

 On 1 October 2010 12:06, Levente Uzonyi le...@elte.hu wrote:
 On Fri, 1 Oct 2010, Marcus Denker wrote:

 Issue 3002:     A new finalization code ready for integration in Pharo
 Issue 3026: after 12172, sync with repository and reload

 If you didn't fix the migration code, then WeakFinalizationRegistry is
 still
 in the system. Details here:


 http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html

 You mean this not work:
        Smalltalk forgetClass: #WeakFinalizationRegistry logged: false.

 should be
        Smalltalk forgetClass: WeakFinalizationRegistry logged: false.

 right?


 Yes.


Thanks for noticing.

 Levente


 Levente


 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] CodeMorph text should return an instance of Text but return a String

2010-10-01 Thread Fernando olivero
Yes, i've been busy so i couldn't finish this issue.

Because CodeMorph comes from Gaucho,  and until now there was no need for it in 
the Pharo-Core. so i will remove it, and possibly when the need arises will 
propose its re-inclusion.

Fernando
pd: the idea behind CodeMorph is to have a specialized NewTextMorph for dealing 
with Methods sources, Class definitions. But now i have second thoughts, 
because i have the impression that having diferent Editors ( subclasses of 
TextEditor or  SmalltalkEditor) should do the trick.

On Oct 1, 2010, at 12:02 PM, Cyrille Delaunay wrote:

 I just saw that there is propositions to remove CodeMorph:
 
 http://code.google.com/p/pharo/issues/detail?id=2902q=CodeMorphcolspec=ID%20Type%20Status%20Summary%20Milestone%20Difficulty
 
 So maybe the best fix will be to remove all the tests related ? :)
 
 2010/10/1 Cyrille Delaunay cy.delau...@gmail.com
 In pharo 1.2, NewTextMorphTests#testFullMethodName raise an error. This 
 error happen when calling:
 
CodeMorph  defaultStyledText
   | text attribute |
   text := self text.
   text addAttribute: ( self newTextColorAttribute: Color black ).
   ^ text.
 
 text is a string, and therefore it does not understand 'addAttribute'. The 
 value return by 'text' depends on the value of the instance variable 
 'adapter'. adapter can have different values according the way we initialize 
 the CodeMorph. One of them is:
 
   beFullMethodName 
   aspect := #selector.
   adapter := [:selector| target methodClass name , '.' , self 
 selectorWithArguments ].  
 
 The block return a String and I guess the right code should be 
 
 beFullMethodName 
   aspect := #selector.
   adapter := [:selector| (target methodClass name , '.' , self 
 selectorWithArguments) asText ]
 
 ??.  
 
 I opened an Issue: http://code.google.com/p/pharo/issues/detail?id=3031
 
 ATT1..txt

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] NativeBoost and Cog. A working protype.

2010-10-01 Thread step...@pairhome.net
On Oct 1, 2010, at 2:39 AM, Schwab,Wilhelm K bsch...@anest.ufl.edu wrote:

 Sig,
 
 I'm pointing out that do it all in Smalltalk has limits, both in syntax 
 (C++ is generally a better formula translator than Smalltalk; Smalltalk is 
 better at expressing just about anything else) and in performance, unless you 
 can stop boxing/unboxing the floats, which it sounds like you can't.

Regarding syntax, I'm all in favor of using special purpose languages where it 
makes sense (but my intuition says that should be done sparingly or else 
everything will degenerate into an incomprehensible mess).  In this case it 
would be very nice to think about a language designed specifically for 
expressing mathematical expressions rather than C++ (which btw I don't agree is 
better for expressing formulas...it's just different and perhaps closer to 
conventional mathematical syntax).

Regarding performance, I think it's entirely possible to get similar 
performance to C++ in Smalltalk (or just about any other language for that 
matter)...however, I'm not aware of anything that can do this today.  You could 
deal with the boxing/unboxing overhead with a sufficient amount of inlining 
based on runtime type analysis.  Once fully inlined, you can apply more 
traditional optimization techniques.  I don't even think this would be 
particularly hard to do (and to a degree it's all been done before), but it is 
a lot of work.

As I said, I'm not aware of anything readily available that achieves these 
things.  So, to get the performance you seek in a slightly more pleasing syntax 
(beauty is in the eye of the beholder), C++ may be your best bet for now. 

- Stephen


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [Vm-dev] Re: is it possible to know the memory occupation (bytes) of an object?

2010-10-01 Thread Mariano Martinez Peck
Ok...I have just commited. If you want to review:

http://code.google.com/p/pharo/issues/detail?id=3032

cheers

Mariano

On Tue, Sep 28, 2010 at 1:45 PM, Mariano Martinez Peck 
marianop...@gmail.com wrote:



 On Tue, Sep 28, 2010 at 11:11 AM, Henrik Johansen 
 henrik.s.johan...@veloxit.no wrote:



 On Sep 28, 2010, at 9:36 27AM, Mariano Martinez Peck wrote:



 On Tue, Sep 28, 2010 at 6:46 AM, Nicolas Cellier 
 nicolas.cellier.aka.n...@gmail.com wrote:


 2010/9/27 Eliot Miranda eliot.mira...@gmail.com:
 
 
 
  On Mon, Sep 27, 2010 at 12:20 PM, Mariano Martinez Peck 
 marianop...@gmail.com wrote:
 
 
 
 
  On Wed, Sep 22, 2010 at 12:34 PM, Mariano Martinez Peck 
 marianop...@gmail.com wrote:
 
 
  On Wed, Sep 22, 2010 at 12:12 PM, Henrik Johansen 
 henrik.s.johan...@veloxit.no wrote:
 
  On Sep 22, 2010, at 9:59 40AM, Adrian Lienhard wrote:
 
   Some notes:
  
   - What should be answered for small ints? 1 sizeInMemory --8.
 That's wrong. Shouldn't this answer 0?
 
  Philosophical question really, imo both 4 (Again, in 32bit images at
 least) and 0 would be correct answers in their own ways. 8 is definitely
 wrong though :)
  The method comment should probably highlight which definition is
 used.
 
 
 
  Sowhat should we consider for SmallInteger ?   4 bytes or 0 bytes?
 
  0 bytes, obviously.  The only space occupied by a SmallInteger is the
 space of the slot containing it.  There is no SmallInteger object beyond the
 slot.
 

 Or from another POV, it's 4, the size of the slot. But we don't count
 the size of the slots, they are already counted in the containing
 object, that's why it should answer 0.



 Thanks for the answers. I finally let this:

 sizeInMemory
 Answer the number of bytes consumed by this instance including object
 header.
 | isCompact headerBytes contentBytes |

 SmallInteger occupy 0 bytes since the only space occupied by a
 SmallInteger is the space of the slot containing it.  There is no
 SmallInteger object beyond the slot. From another POV, it could be 4, the
 size of the slot. But we don't count the size of the slots, they are already
 counted in the containing object, that's why it should answer 0.
 (self isMemberOf: SmallInteger) ifTrue: [^0].

  contentBytes := self class instSize * Smalltalk wordSize. inst vars

  self class isVariable ifTrue:[ |bytesPerElement|
 bytesPerElement := self class isBytes ifTrue: [1] ifFalse:
 [4].
 contentBytes := contentBytes + (self basicSize *
 bytesPerElement)].

  isCompact := self class indexIfCompact  0.
   headerBytes :=
 contentBytes  255
 ifTrue: [ 3 * Smalltalk wordSize ]
 ifFalse: [isCompact ifTrue: [Smalltalk wordSize]
 ifFalse: [2 * Smalltalk wordSize]].
 ^ headerBytes + contentBytes


 Now I wonder...maybe instead of doing this it is easier to have a
 primitive that just calls #internalByteSize: ?
 The problem of course is that it needs changes in the vm...

 cheers

 Mariano


 isMemberOf: is so quaint...

 Why not
 SmallIntegersizeInMemory
  SmallInteger occupy 0 bytes since the only space occupied by a
 SmallInteger is the space of the slot containing it.
 There is no SmallInteger object beyond the slot.
  From another POV, it could be 4, the size of the slot. But we don't
 count the size of the slots, they are already counted in the containing
 object, that's why it should answer 0.
  ^0

 and remove that part from the Object implementation.


 U thanks Henrik for enlight me and teach me. Shame on me. I think that
 too much paper writting, ppt and admin tasks are killing me :(
 But don't worry, now I will come to code again! Hope to recover... :)



 Cheers,
 Henry



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [ANN] Pharo-1.1.1-dev10.09.1

2010-10-01 Thread Eliot Miranda
Hi Mariano,

2010/10/1 Mariano Martinez Peck marianop...@gmail.com

 Hi folks. We are releasing Pharo 1.1.1. This image is exactly same as Pharo
 1.1 but based on PharoCore 1.1.1. The versions of the external packages is
 the same as in Pharo 1.1. The difference is that PharoCore1.1.1 has
 integrated some fixes and the support for CogVM. This means that
 Pharo-1.1.1-dev10.09.1 can be run with both, normal PharoVM and CogVM. For
 CogVM we recommend to use the last binaries that can be found in
 http://www.mirandabanda.org/files/Cog/VM/. Right now the last one is
 http://www.mirandabanda.org/files/Cog/VM/VM.r2313/

 This CogVM version fixes the problem with Objects as methods, and thus,
 all the #run:with:with are working. This means that tools like TestCoverage
 and AutoTest are working correctly with CogVM.


WHile some simple things now work there's definitely at least one bug
remaining (perform:withArguments: doesn't work for objects-as-methods) and
Nicolas tried a more demanding test (the coverage test from XTreams) and
found problems; see
http://lists.gforge.inria.fr/pipermail/pharo-project/2010-September/033230.html.
 I'll be releasing a new VM that will fix the perform issue, but it remains
to be seen whether the bugs Nicolas as found are fixed by this.  So while
.33 is better Cog still doesn't support objects-as-method correctly.

HTH
Eliot


 The link to the image is:
 https://gforge.inria.fr/frs/download.php/27543/Pharo-1.1.1-dev10.09.1.zip

 Cheers

 Mariano

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [Progress Report] Zinc HTTP Components

2010-10-01 Thread Stéphane Ducasse
Cool!

Stef

On Oct 1, 2010, at 10:04 AM, Sven Van Caekenberghe wrote:

 Here is a quick progress report regarding the Zinc HTTP Components project.
 Please check the SqueakSource history for a all the details.
 The external documentation has not yet been updated ;-)
 
 I am very pleased that Matt Kennedy joined the project as a developer and 
 is contributing lots of really important and interesting code - way to go 
 Matt!
 
 Some highights are:
 
 - we now have cookie handling, authentication and credential objects
 - there is a new ZnUserAgent client that can do advanced authentication
  handles cookies, sessions and that can follow redirects
 - there is a ZnFixedClient that can reuse a connection to the same host/port
 - there is support for client side chunked and gzip decoding
 - there is an experimental server that keeps connections alive (unfinised)
 - support classes ZnUserAgentSession and ZnUserAgentSession
 - lots of refactorings, fixes and portability improvements
 - the number of unit tests has increased to 71
 
 Sven
 
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] haltOnce and haltOnCount

2010-10-01 Thread Stéphane Ducasse
+ 1 really really important

On Sep 30, 2010, at 11:38 PM, Alexandre Bergel wrote:

 I used haltOnce quite often when I had to debug the rendering facilities in 
 Mondrian. 
 Putting self halt in a drawOn: method can easily freeze your image.
 
 Alexandre
 
 
 
 On 30 Sep 2010, at 17:18, Hernan Wilkinson wrote:
 
 Hi, 
 when are these messages used? what are the scenarios? 
 I just want to understand why they are there...
 
 -- 
 Hernán Wilkinson
 Agile Software Development, Teaching  Coaching
 Mobile: +54 - 911 - 4470 - 7207
 email: hernan.wilkin...@10pines.com
 site: http://www.10Pines.com
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] PharoCorePackageDependenciesTests make tests with packages not presents in pharo 1.2

2010-10-01 Thread Cyrille Delaunay
Several tests from PharoCorePackageDependenciesTests raise errors
because it specify packages not present in pharo 1.2:

 'AST-Tests-Core'
 'AST-Core'
 'AST-Semantic'

The error come from:

  referencesInPackageNamed: pkgNameAsString
| pi |
 pi := PackageOrganizer default
packageNamed: pkgNameAsString
ifAbsent: [^ self].
  
The package is not found, therefore it returns 'self', later in the
code we iterate on that 'self', it raise a DNU Message. Maybe rather
that returning self, we should return a more explicit error so that we
know directly where does the problem comes from?
Anyway, I guess the main problem here is that the packages specified
are not present in the image?


I opened an issue:http://code.google.com/p/pharo/issues/detail?id=3033
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [Progress Report] Zinc HTTP Components

2010-10-01 Thread Lukas Renggli
Wow, very impressive.

What I would like to see is some kind of high-level API for convenient
access to all features. Something along

response := ZnHttp new
url: 'http://www.foo.com';
userAgent: 'FakeAgent';
cookieAt: 'something' put: '123';
parameterAt: 'q' put: 'smalltalk';
onFailure: [ :error | self inform: 'failed' ];
onProgress: [ :status | ... ];
get

Lukas

On 1 October 2010 13:52, Stéphane Ducasse stephane.duca...@inria.fr wrote:
 Cool!

 Stef

 On Oct 1, 2010, at 10:04 AM, Sven Van Caekenberghe wrote:

 Here is a quick progress report regarding the Zinc HTTP Components project.
 Please check the SqueakSource history for a all the details.
 The external documentation has not yet been updated ;-)

 I am very pleased that Matt Kennedy joined the project as a developer and
 is contributing lots of really important and interesting code - way to go 
 Matt!

 Some highights are:

 - we now have cookie handling, authentication and credential objects
 - there is a new ZnUserAgent client that can do advanced authentication
  handles cookies, sessions and that can follow redirects
 - there is a ZnFixedClient that can reuse a connection to the same host/port
 - there is support for client side chunked and gzip decoding
 - there is an experimental server that keeps connections alive (unfinised)
 - support classes ZnUserAgentSession and ZnUserAgentSession
 - lots of refactorings, fixes and portability improvements
 - the number of unit tests has increased to 71

 Sven



 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
Lukas Renggli
www.lukas-renggli.ch

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] loading groups with metacello

2010-10-01 Thread Veronica Isabel Uquillas Gomez
Hi Mariano,

You already saw my problem.

With this you can check what is happening:
(ConfigurationOfGlamour project version: 'default') record: #('Core' 'Tests' 
'Extras')

all the pre-requisites are being loaded and not only the groups.


Regards,
Veronica
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] loading groups with metacello

2010-10-01 Thread Mariano Martinez Peck
On Fri, Oct 1, 2010 at 2:16 PM, Veronica Isabel Uquillas Gomez 
vuqui...@vub.ac.be wrote:

 Hi Mariano,

 You already saw my problem.

 With this you can check what is happening:
 (ConfigurationOfGlamour project version: 'default') record: #('Core'
 'Tests' 'Extras')


I don't understand why this loads Grease for example.
Dale any idea?  I checked loadDirective but I didn't understand.

Cheers

Mariano


 all the pre-requisites are being loaded and not only the groups.


 Regards,
 Veronica
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] Fix of Create button in Debugger (#3010 and #3011)

2010-10-01 Thread Luc Fabresse
Hi all,

 We integrate the fix proposed by Hernan for #3010 and #3011.
 Hernan, thanks a lot for your fix proposal.
 Next time, just test it before on the latest Pharo (curently 1.2 and not
1.1) to make the integration easier.

Thanks,

Luc
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [Progress Report] Zinc HTTP Components

2010-10-01 Thread Sven Van Caekenberghe
Lukas,

On 01 Oct 2010, at 14:10, Lukas Renggli wrote:

 What I would like to see is some kind of high-level API for convenient
 access to all features. Something along
 
 response := ZnHttp new
url: 'http://www.foo.com';
userAgent: 'FakeAgent';
cookieAt: 'something' put: '123';
parameterAt: 'q' put: 'smalltalk';
onFailure: [ :error | self inform: 'failed' ];
onProgress: [ :status | ... ];
get

A bit like Gofer I guess...

It certainly looks cool, the code above.

I'll have to think a little bit about that approach.

How should such an object handle wrong use of the API ?
What if I don't specify an url, do the get before setting the cookie, ...
It feels as if there will be little feedback in terms of errors, no ?

Sven


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Stéphane Ducasse
Igor
Can you have a look because right now in 12174 I cannot 
do any update anymore so 
- either we fix it now 
or we have to rollbakc to 12161.

Thanks.


On Oct 1, 2010, at 12:49 PM, Igor Stasenko wrote:

 2010/10/1 Levente Uzonyi le...@elte.hu:
 On Fri, 1 Oct 2010, Igor Stasenko wrote:
 
 On 1 October 2010 12:06, Levente Uzonyi le...@elte.hu wrote:
 On Fri, 1 Oct 2010, Marcus Denker wrote:
 
 Issue 3002: A new finalization code ready for integration in Pharo
 Issue 3026: after 12172, sync with repository and reload
 
 If you didn't fix the migration code, then WeakFinalizationRegistry is
 still
 in the system. Details here:
 
 
 http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html
 
 You mean this not work:
Smalltalk forgetClass: #WeakFinalizationRegistry logged: false.
 
 should be
Smalltalk forgetClass: WeakFinalizationRegistry logged: false.
 
 right?
 
 
 Yes.
 
 
 Thanks for noticing.
 
 Levente
 
 
 Levente
 
 
 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 
 
 --
 Best regards,
 Igor Stasenko AKA sig.
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 
 
 -- 
 Best regards,
 Igor Stasenko AKA sig.
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [Progress Report] Zinc HTTP Components

2010-10-01 Thread Lukas Renggli
 response := ZnHttp new
    url: 'http://www.foo.com';
    userAgent: 'FakeAgent';
    cookieAt: 'something' put: '123';
    parameterAt: 'q' put: 'smalltalk';
    onFailure: [ :error | self inform: 'failed' ];
    onProgress: [ :status | ... ];
    get

 A bit like Gofer I guess...

Yeah, the pattern is always the same :-)

Seaside rendering, Gofer loading, Magritte description, ...

 It certainly looks cool, the code above.

 I'll have to think a little bit about that approach.

The idea is that reasonably complex scenarios can be written as a
single expression.

 How should such an object handle wrong use of the API ?
 What if I don't specify an url, do the get before setting the cookie, ...
 It feels as if there will be little feedback in terms of errors, no ?

If you forget to specify an URL you'll likely get an exception at some
(later) point.

If you forget or do something after #get, #put, #delete, #head, ... it
has no effect. Also you don't get the result, which is returned from
these methods.

In my opinion the missing feedback is not a problem in practice,
people just have to remember to do the action last.

Lukas

-- 
Lukas Renggli
www.lukas-renggli.ch

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] Base64MimeConverterTest#testOnByteArray raise an error

2010-10-01 Thread Cyrille Delaunay
ByteArray  base64Encoded is no longer defined in Pharo 1.2, but used
in the test Base64MimeConverterTest#testOnByteArray. It raise a DNU
message.

I opened an Issue:
http://code.google.com/p/pharo/issues/detail?id=3027q=base64Encodedcolspec=ID%20Type%20Status%20Summary%20Milestone%20Difficulty
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [Pharo-users] [ANN] Pharo-1.1.1-dev10.09.1

2010-10-01 Thread Tudor Girba
Great!

Doru


On 1 Oct 2010, at 09:55, Mariano Martinez Peck wrote:

 Hi folks. We are releasing Pharo 1.1.1. This image is exactly same as Pharo 
 1.1 but based on PharoCore 1.1.1. The versions of the external packages is 
 the same as in Pharo 1.1. The difference is that PharoCore1.1.1 has 
 integrated some fixes and the support for CogVM. This means that 
 Pharo-1.1.1-dev10.09.1 can be run with both, normal PharoVM and CogVM. For 
 CogVM we recommend to use the last binaries that can be found in 
 http://www.mirandabanda.org/files/Cog/VM/. Right now the last one is 
 http://www.mirandabanda.org/files/Cog/VM/VM.r2313/
 
 This CogVM version fixes the problem with Objects as methods, and thus, all 
 the #run:with:with are working. This means that tools like TestCoverage and 
 AutoTest are working correctly with CogVM.
 
 The link to the image is: 
 https://gforge.inria.fr/frs/download.php/27543/Pharo-1.1.1-dev10.09.1.zip
 
 Cheers
 
 Mariano
 ___
 Pharo-users mailing list
 pharo-us...@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users

--
www.tudorgirba.com

Being happy is a matter of choice.




___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Igor Stasenko
On 1 October 2010 15:47, Stéphane Ducasse stephane.duca...@inria.fr wrote:
 Igor
 Can you have a look because right now in 12174 I cannot
 do any update anymore so
        - either we fix it now
        or we have to rollbakc to 12161.

I will take a look
 Thanks.


 On Oct 1, 2010, at 12:49 PM, Igor Stasenko wrote:

 2010/10/1 Levente Uzonyi le...@elte.hu:
 On Fri, 1 Oct 2010, Igor Stasenko wrote:

 On 1 October 2010 12:06, Levente Uzonyi le...@elte.hu wrote:
 On Fri, 1 Oct 2010, Marcus Denker wrote:

 Issue 3002:     A new finalization code ready for integration in Pharo
 Issue 3026: after 12172, sync with repository and reload

 If you didn't fix the migration code, then WeakFinalizationRegistry is
 still
 in the system. Details here:


 http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html

 You mean this not work:
        Smalltalk forgetClass: #WeakFinalizationRegistry logged: false.

 should be
        Smalltalk forgetClass: WeakFinalizationRegistry logged: false.

 right?


 Yes.


 Thanks for noticing.

 Levente


 Levente


 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Stéphane Ducasse
Igor

I was thinking to rollback now because we cannot do anything.
Is is ok for you?
And after we can include everything.

Stef

On Oct 1, 2010, at 3:08 PM, Igor Stasenko wrote:

 On 1 October 2010 15:47, Stéphane Ducasse stephane.duca...@inria.fr wrote:
 Igor
 Can you have a look because right now in 12174 I cannot
 do any update anymore so
- either we fix it now
or we have to rollbakc to 12161.
 
 I will take a look
 Thanks.
 
 
 On Oct 1, 2010, at 12:49 PM, Igor Stasenko wrote:
 
 2010/10/1 Levente Uzonyi le...@elte.hu:
 On Fri, 1 Oct 2010, Igor Stasenko wrote:
 
 On 1 October 2010 12:06, Levente Uzonyi le...@elte.hu wrote:
 On Fri, 1 Oct 2010, Marcus Denker wrote:
 
 Issue 3002: A new finalization code ready for integration in Pharo
 Issue 3026: after 12172, sync with repository and reload
 
 If you didn't fix the migration code, then WeakFinalizationRegistry is
 still
 in the system. Details here:
 
 
 http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html
 
 You mean this not work:
Smalltalk forgetClass: #WeakFinalizationRegistry logged: false.
 
 should be
Smalltalk forgetClass: WeakFinalizationRegistry logged: false.
 
 right?
 
 
 Yes.
 
 
 Thanks for noticing.
 
 Levente
 
 
 Levente
 
 
 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 
 
 --
 Best regards,
 Igor Stasenko AKA sig.
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 
 
 --
 Best regards,
 Igor Stasenko AKA sig.
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 
 
 -- 
 Best regards,
 Igor Stasenko AKA sig.
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] we will rollback until 12160

2010-10-01 Thread Stéphane Ducasse
Hi guys

sorry for the mess but the weakarray changes are putting the system on his 
knees. :)
we cannot merge anymore.
So I suggest that we rollback until 12160 and let igor happily fix it.

Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] XMLRPC project on Squeaksource is MIT

2010-10-01 Thread Germán Arduino
Hi Guys:

Attached the agreement of the authors of current XMLRPC code on
Squeaksource to make it MIT.

Thanks Markus and Christian.




-- From Markus --
From: Markus Fritsche fritsche.mar...@googlemail.com
Date: 2010/10/1
Subject: Re: About the XMLRPC project on Squeaksource
To: Germán Arduino g...@arsol.net


Hello Germán,
as far as I am concerned, I am happy to release my code under MIT license.

I hope it will be well adapted to recent developments happening around
Smalltalk  Pharo!

Kind regards,
            Markus (aka maf)

2010/9/22 Germán Arduino g...@arsol.net

 Hi Markus, Christian, César:

 I asked previously about the xmlrpc code on Squeaksource of each one
 of you and all agreed on release it as public domain.

 I need now (sorry by the bothering) your agreement that all your code
 on this repo XMLRPC is MIT licensed. Then I will send your responses
 to the pharo list to the system keeps track on that.

 Thanks Again!

 Germán.



-- From Christian --
2010/9/22 Christian Langreiter ch...@langreiter.com:
 Hello Germán,

 I need now (sorry by the bothering) your agreement that all your code
 on this repo XMLRPC is MIT licensed. Then I will send your responses
 to the pharo list to the system keeps track on that.

 no objections from my side.

 Best regards,
 -- Chris

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Igor Stasenko
On 1 October 2010 16:15, Stéphane Ducasse stephane.duca...@inria.fr wrote:
 Igor

 I was thinking to rollback now because we cannot do anything.
 Is is ok for you?
 And after we can include everything.


Sure, no problem. It should not behave like that.
There could be some very little speed degradation, but not like you describing.

I found that after update 12172-12174
a FinalizationDependents in WeakArray
held 4 weak registries before,
but after update it also holds a WeakIdentityKeyDictionary with 9387 elements.

This is something from monticello cache, but it screwed somehow..
I were able to delete it from weakdependents,manually,  like in this script:

arr := (WeakArray classPool at: #FinalizationDependents ).
arr
withIndexDo: [:e :i |
e class == WeakRegistry ifFalse: [ arr at: i put: nil
]]

After that, everything vent back to normal.

This dictionary comes from MCMethodDefinition Definitions class var.
So you can simply do:

MCMethodDefinition shutDown

to stop CPU hogging.

But i wonder, if this is just one-time issue, or it will repeat again,
after update.

During writing this, i found that you already rewinded update, so i
was unable to check if
it will start consuming CPU on new code loaded, or its just some
tension between MC and
my migration procedure, which can be healed by
MCMethodDefinition shutDown.


 Stef

 On Oct 1, 2010, at 3:08 PM, Igor Stasenko wrote:

 On 1 October 2010 15:47, Stéphane Ducasse stephane.duca...@inria.fr wrote:
 Igor
 Can you have a look because right now in 12174 I cannot
 do any update anymore so
        - either we fix it now
        or we have to rollbakc to 12161.

 I will take a look
 Thanks.


 On Oct 1, 2010, at 12:49 PM, Igor Stasenko wrote:

 2010/10/1 Levente Uzonyi le...@elte.hu:
 On Fri, 1 Oct 2010, Igor Stasenko wrote:

 On 1 October 2010 12:06, Levente Uzonyi le...@elte.hu wrote:
 On Fri, 1 Oct 2010, Marcus Denker wrote:

 Issue 3002:     A new finalization code ready for integration in Pharo
 Issue 3026: after 12172, sync with repository and reload

 If you didn't fix the migration code, then WeakFinalizationRegistry is
 still
 in the system. Details here:


 http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html

 You mean this not work:
        Smalltalk forgetClass: #WeakFinalizationRegistry logged: false.

 should be
        Smalltalk forgetClass: WeakFinalizationRegistry logged: false.

 right?


 Yes.


 Thanks for noticing.

 Levente


 Levente


 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Igor Stasenko
I found the bug..
This was in WeakKeyDictionaryexpiredValuesDo:

Please, try doing the same with this patch, and see if problem gone.
See attachment.

-- 
Best regards,
Igor Stasenko AKA sig.


WeakKeyDictionary-expiredValuesDo.st
Description: Binary data
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Levente Uzonyi

On Fri, 1 Oct 2010, Igor Stasenko wrote:


On 1 October 2010 16:15, Stéphane Ducasse stephane.duca...@inria.fr wrote:
Igor

I was thinking to rollback now because we cannot do anything.
Is is ok for you?
And after we can include everything.



Sure, no problem. It should not behave like that.
There could be some very little speed degradation, but not like you describing.

I found that after update 12172-12174
a FinalizationDependents in WeakArray
held 4 weak registries before,
but after update it also holds a WeakIdentityKeyDictionary with 9387 elements.

This is something from monticello cache, but it screwed somehow..
I were able to delete it from weakdependents,manually,  like in this script:

arr := (WeakArray classPool at: #FinalizationDependents ).
arr
withIndexDo: [:e :i |
e class == WeakRegistry ifFalse: [ arr at: i put: nil
]]

After that, everything vent back to normal.

This dictionary comes from MCMethodDefinition Definitions class var.
So you can simply do:

MCMethodDefinition shutDown

to stop CPU hogging.

But i wonder, if this is just one-time issue, or it will repeat again,
after update.

During writing this, i found that you already rewinded update, so i
was unable to check if
it will start consuming CPU on new code loaded, or its just some
tension between MC and
my migration procedure, which can be healed by
MCMethodDefinition shutDown.


IIRC the WeakKeyDictionary is Pharo doesn't work (doesn't free slots or 
so) if it's not registered to the finalization process, but Henrik will 
correct me if I'm wrong.



Levente


Stef

On Oct 1, 2010, at 3:08 PM, Igor Stasenko wrote:


On 1 October 2010 15:47, Stéphane Ducasse stephane.duca...@inria.fr wrote:

Igor
Can you have a look because right now in 12174 I cannot
do any update anymore so
       - either we fix it now
       or we have to rollbakc to 12161.


I will take a look

Thanks.


On Oct 1, 2010, at 12:49 PM, Igor Stasenko wrote:


2010/10/1 Levente Uzonyi le...@elte.hu:

On Fri, 1 Oct 2010, Igor Stasenko wrote:


On 1 October 2010 12:06, Levente Uzonyi le...@elte.hu wrote:
On Fri, 1 Oct 2010, Marcus Denker wrote:


Issue 3002:     A new finalization code ready for integration in Pharo
Issue 3026: after 12172, sync with repository and reload


If you didn't fix the migration code, then WeakFinalizationRegistry is
still
in the system. Details here:


http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html


You mean this not work:
       Smalltalk forgetClass: #WeakFinalizationRegistry logged: false.

should be
       Smalltalk forgetClass: WeakFinalizationRegistry logged: false.

right?


Yes.



Thanks for noticing.


Levente



Levente



--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





--
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





--
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





--
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





--
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] [update 1.2] #12161

2010-10-01 Thread stephane ducasse
12161
-

- Issue 3003: handleDisabledKey: is missing in Editor and subclasses
- Issue 2963: systemOrganizer fixes. Thanks German Leiva and James Foester

Stef

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Igor Stasenko
2010/10/1 Levente Uzonyi le...@elte.hu:
 On Fri, 1 Oct 2010, Igor Stasenko wrote:

 On 1 October 2010 16:15, Stéphane Ducasse stephane.duca...@inria.fr
 wrote:
 Igor

 I was thinking to rollback now because we cannot do anything.
 Is is ok for you?
 And after we can include everything.


 Sure, no problem. It should not behave like that.
 There could be some very little speed degradation, but not like you
 describing.

 I found that after update 12172-12174
 a FinalizationDependents in WeakArray
 held 4 weak registries before,
 but after update it also holds a WeakIdentityKeyDictionary with 9387
 elements.

 This is something from monticello cache, but it screwed somehow..
 I were able to delete it from weakdependents,manually,  like in this script:

 arr := (WeakArray classPool at: #FinalizationDependents ).
 arr
 withIndexDo: [:e :i |
        e class == WeakRegistry ifFalse: [ arr at: i put: nil
        ]]

 After that, everything vent back to normal.

 This dictionary comes from MCMethodDefinition Definitions class var.
 So you can simply do:

 MCMethodDefinition shutDown

 to stop CPU hogging.

 But i wonder, if this is just one-time issue, or it will repeat again,
 after update.

 During writing this, i found that you already rewinded update, so i
 was unable to check if
 it will start consuming CPU on new code loaded, or its just some
 tension between MC and
 my migration procedure, which can be healed by
 MCMethodDefinition shutDown.


 IIRC the WeakKeyDictionary is Pharo doesn't work (doesn't free slots or so)
 if it's not registered to the finalization process, but Henrik will correct
 me if I'm wrong.

It marks associations whose keys became nil as expired ones
(association key: association).

So, then associations get reused when new entries added.

But i tricked myself by using #allAssociationsDo: , which were wiping
out associations,
before sending #finalize to their values... so, no finalization were run.
Somehow, this lead to blowing up an MC method definitions cache.


 Levente

 Stef

 On Oct 1, 2010, at 3:08 PM, Igor Stasenko wrote:

 On 1 October 2010 15:47, Stéphane Ducasse stephane.duca...@inria.fr
 wrote:

 Igor
 Can you have a look because right now in 12174 I cannot
 do any update anymore so
        - either we fix it now
        or we have to rollbakc to 12161.

 I will take a look

 Thanks.


 On Oct 1, 2010, at 12:49 PM, Igor Stasenko wrote:

 2010/10/1 Levente Uzonyi le...@elte.hu:

 On Fri, 1 Oct 2010, Igor Stasenko wrote:

 On 1 October 2010 12:06, Levente Uzonyi le...@elte.hu wrote:
 On Fri, 1 Oct 2010, Marcus Denker wrote:

 Issue 3002:     A new finalization code ready for integration in
 Pharo
 Issue 3026: after 12172, sync with repository and reload

 If you didn't fix the migration code, then WeakFinalizationRegistry
 is
 still
 in the system. Details here:



 http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-September/154009.html

 You mean this not work:
        Smalltalk forgetClass: #WeakFinalizationRegistry logged: false.

 should be
        Smalltalk forgetClass: WeakFinalizationRegistry logged: false.

 right?


 Yes.


 Thanks for noticing.

 Levente


 Levente


 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project 

[Pharo-project] Issue 3036: SUnit Refactoring

2010-10-01 Thread Sean P. DeNigris

In the course of working through A Mentoring Course on Smalltalk, I applied
some small refactorings to SUnit.

Issue: http://code.google.com/p/pharo/issues/detail?id=3036

Fix in inbox: SUnit-SeanDeNigris.114

* TestCase now uses classsuiteClass instead of referencing the class name
directly
* TestSuite now uses #resultClass instead of referencing the class name
directly

Also, 114 is a merge of SUnit-StephaneDucasse.113 and SUnit-SeanDeNigris.106
(a package saved in my local cache).  Should I upload SUnit-SeanDeNigris.106
also?

Thanks.
Sean

-- 
View this message in context: 
http://forum.world.st/Issue-3036-SUnit-Refactoring-tp2914375p2914375.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12162

2010-10-01 Thread Stéphane Ducasse
12162
-

Issue 2713: Changelist deserves some fixes
Issue 3030: Remove Explain... code (again)
Issue 3023: change the initial windows position strategy
Issue 3028: PluggableListMorphByItem  getCurrentSelectionIndex access 
directly a non-initailized instance variable

Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] ToolBuilderTeststestGetButtonSideEffects seems to be wrong

2010-10-01 Thread Cyrille Delaunay
if you look at the code of ToolBuilderTeststestGetButtonSideEffects:

  testGetButtonSideEffects
self makeButton.
queries := IdentitySet new.
self changed: #testSignalWithNoDiscernableEffect.
self expectedButtonSideEffects do:[:sym|
self assert: (queries includes: sym).
queries remove: sym.
]. 

the variable queries is never fill in, therefore I don't understand
how the assertion could pass. In pharo 1.2-12159  the test fail for
the class MorphicToolBuilderTests for which
'expectedButtonSideEffects' return a non-empty collection (unlike
ToolBuilderTests).


I opened an Issue: http://code.google.com/p/pharo/issues/detail?id=3038
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [squeak-dev] Multiple finalizers per single object

2010-10-01 Thread Henrik Johansen
I sort of disagree, in that it's neat to have a way for objects to be notified 
when other objects die, without that object necessarily having to know about 
all objects that may be interested in its death.
(Like, in Leventes case which triggered their creation in the first place, 
objects which are weakly registered to one or more announcers)

I don't really see the benefit in constraining an existing, flexible mechanic 
to only cover the common use case.

If multiple finalizers are removed, at least so should 
ObjecttoFinalizeSend:to:with: (and potentially other spots, I haven't checked 
exactly) leaving
Object  finalize as the only place where finalization actions take place. 
(Which is where the actions Igor are talking about should be happening in the 
first place)

Cheers,
Henry

On Sep 23, 2010, at 10:36 27PM, Chris Muller wrote:

 I agree that multiple finalizers per object seems unnecessary and, as
 you pointed out, potentially confusing, if not also conflicting.
 TSTTCPW seems appropriate in this case.
 
 On Thu, Sep 23, 2010 at 3:23 PM, Igor Stasenko siguc...@gmail.com wrote:
 Hello,
 
 i'd like to raise this subject once more, because i don't like it (or
 don't understand?).
 
 In all scenarios, where i met the need to use finalization, a single
 finalizer is sufficient.
 Moreover, there is always a single object who controls a weak
 reference, and it never leaks it out, to prevent
 the case, when some other object may obtain a strong reference on it,
 making it permanently held in object memory.
 
 Multiple different finalizers for single object, from design point of
 view, means that you having two different, not related frameworks,
 which using same object, and want to do something when it dies.
 A scenario, where its possible and userful, still don't comes into my mind.
 In contrary, whenever i see a use of finalizers, its in most cases
 about graceful control over external resource, such as:
 - file
 - socket
 - external memory
 
 and i really don't see how multiple finalizers per single resource
 could do any good.
 
 Suppose one finalizer closing a file handle, while another one
 flushing it buffer cache.
 Now, how you going to ensure, that one finalizer will execute first,
 before another one?
 And what if third framework comes into play and wants to add another
 finalizer on top of that, which should do something in the middle
 between flushing a cache and closing file handle?
 
 From the above, the only conclusion can be made: use a single
 finalizer, and put all logic  operation ordering into it.
 And also, prevent leakage of object pointer (such as file handle)
 outside of your model, otherwise it may cause harm.
 
 That's why i think a current WeakRegistry model provoking bad design 
 practices.
 I think a better behavior would be to raise an error, if something
 wants to register finalizer twice for a single object.
 
 
 --
 Best regards,
 Igor Stasenko AKA sig.
 
 
 
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12163

2010-10-01 Thread Stéphane Ducasse
12163
-

- Issue 3035:   Workspace(Object)doesNotUnderstand: #spawn:. Thanks mariano 
Martinez-Peck
- Issue 3032:   Memory consuption of Objects. Thanks mariano Martinez-Peck
- Issue 3037:   SpaceTally should use #instancesSizeInMemory. Thanks mariano 
Martinez-Peck
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [Progress Report] Zinc HTTP Components

2010-10-01 Thread Matt Kennedy
Hi everyone, 

On Oct 1, 2010, at 8:10 AM, Lukas Renggli wrote:

 Wow, very impressive.
 
 What I would like to see is some kind of high-level API for convenient
 access to all features. Something along
 
 response := ZnHttp new
url: 'http://www.foo.com';
userAgent: 'FakeAgent';
cookieAt: 'something' put: '123';
parameterAt: 'q' put: 'smalltalk';
onFailure: [ :error | self inform: 'failed' ];
onProgress: [ :status | ... ];
get
 
 Lukas
 

This is actually where I'd like to head with the client API. I had started my 
own HTTP client about 2 days before Sven announced Zinc, so it made more sense 
contribute to his project. My initial work was a subclass off of ProtocolClient 
and was kind of monolithic, so my first steps have been to make things mesh 
nicely with Zinc.

My initial prototype before I started working on Zinc had a very similar API to 
your example, so my thoughts are definitely aimed for that direction.

Matt
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12164

2010-10-01 Thread Stéphane Ducasse
12164
-

- Issue 3040:   Launch change sorter in Pharo 12162 throws DNU. Thanks Luc 
Fabresse.
-  Issue 3020:  Monticello uses a lot of Smalltalk instead of Smalltalk 
globals. Thanks Nicolas Paez

Stef


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Igor Stasenko
Oh crap.. the problem is not in that.

MC produces huge weak-key dictionary during updates
for instance 12159 - 12162
produces dictionary with 14k entries,
which sits in #FinalizationDependents array
and scanned after each GC.

And during scanning, its using block closures (and each push of block
closure consuming memory),
so it big enough to trigger another GC.

And its self-supporting process of wasting CPU cycles just for nothing...


Here some numbers:
(note, i din't installed new finalization code yet)

MCMethodDefinition cachedDefinitions size
 14987

[MCMethodDefinition cachedDefinitions finalizeValues ] timeToRun
10

so, it spends 10 ms dueing each GC cycle for scanning it.

So, the quest is to avoid using block closures during scanning it,
so it won't produce garbage.

-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12165

2010-10-01 Thread Stéphane Ducasse
12165
-

-  Issue 3010:  Create button of debugger does not appear when doing step into 
and step over. Thanks Hernan Wilkinson and Luc Fabresse and Jean-Baptiste 
Arnaud.
- Issue 3011:   Create button fails when the doesNotUnderstand: context is not 
selected. Thanks Hernan Wilkinson and Luc Fabresse and Jean-Baptiste Arnaud.
- Issue 965:Messages send but not implemented. Thanks Luc Fabresse

Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [update 1.2] #12161 - #12172

2010-10-01 Thread Igor Stasenko
Here what happens:

Original method WeakKeyDictionaryfinalizeValues

WeakKeyDictionaryfinalizeValues
Clear all associations with nil keys
array do:[:assoc|
1 to: array size do:[:i | | assoc |
assoc := array at: i.
assoc ifNotNil:[
assoc expire ifTrue:[
expired := expired + 1.
tally := tally - 1.
].
].
].

And i noticed that after recompilation of this method, it starts
spending much more time to scan 14k entries:

[MCMethodDefinition cachedDefinitions finalizeValues ] timeToRun
 167

(my guess that this method was never recompiled with new Eliot's closures).

Now, if i change it to:
finalizeValues
Clear all associations with nil keys
1 to: array size do:[:i | | assoc |
assoc := array at: i.
array do:[:assoc|
assoc ifNotNil:[
assoc expire ifTrue:[
expired := expired + 1.
tally := tally - 1.
].
].
].

so, #to:do: is inlined by compiler, then numbers is much better:

[MCMethodDefinition cachedDefinitions finalizeValues ] timeToRun
 4

Just try it yourself, if you not believe.

-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12166

2010-10-01 Thread Stéphane Ducasse

12166
-

Issue 2943: SUnit 4. Thanks Jannik Laval and Nicolas Anquetil

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] Another fixes to finalization (was Re: [update 1.2] #12161 - #12172)

2010-10-01 Thread Igor Stasenko
I uploaded new changesets to
http://code.google.com/p/pharo/issues/detail?id=3002


I tested applying them in Pharo-Core-#12159
and then updating an image after that.

After update:
MCMethodDefinition cachedDefinitions size is 18668

But image don't feels slow.

As a side note, i recommend to review the MC caching mechanism towards
avoiding putting so much load
on finalization process (such as scanning 18k entries to find dead objects).

This is actually the purpose of new finalization scheme:
- it allows to avoid scanning whole weak dictionary in order to get
rid of expired associations.

I'm already implemented a variant of self-cleaning weak dictionary for Magma,
which using new finalization scheme, and avoids scanning huge number
of entries to discover few of them,
which became garbage.


-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] Issue 3044: Method editor failing

2010-10-01 Thread Nicolás Paez
*http://code.google.com/p/pharo/issues/detail?id=3044*

*Steps to reproduce:*
1. Create a method
2. Declare a temp (i.e. myVariable)
3. Write some code sending a message to a non-existing temp with a
name similar to the one you declared (i.e. myVar)
4. Try to save. You should get a suggestion to change myVar - myVariable.
5. Accept the suggestion
6. Your code will be modify in a wrong way: intead of getting
myVariable you will get myVariableiable

Saludos!
Nico.
blog: nicopaez.wordpress.com
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] Issue 3045: DOCUMENTATION: Added comment to RBMethodNodemethodComments

2010-10-01 Thread Sean P. DeNigris

Added comment to RBMethodNodemethodComments indicating that what gets
returned is a collection of index intervals, not the actual comment strings

http://code.google.com/p/pharo/issues/detail?id=3045
Fix in Inbox: AST-Core-SeanDeNigris.80
-- 
View this message in context: 
http://forum.world.st/Issue-3045-DOCUMENTATION-Added-comment-to-RBMethodNode-methodComments-tp2932056p2932056.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] Issue 3046: BUG: LineMorph classfrom:to:color:width: returns a PolygonMorph

2010-10-01 Thread Sean P. DeNigris

http://code.google.com/p/pharo/issues/detail?id=3046

Fix in inbox: Morphic-SeanDeNigris.625
LineMorph classfrom:to:color:width: changed to return a LineMorph

Sean
-- 
View this message in context: 
http://forum.world.st/Issue-3046-BUG-LineMorph-class-from-to-color-width-returns-a-PolygonMorph-tp2933188p2933188.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] Issue 3047: REFACTOR: Added intention revealing helper method to AppRegistry classregister:

2010-10-01 Thread Sean P. DeNigris

http://code.google.com/p/pharo/issues/detail?id=3047
Old:
register: aProviderClass
...
default := nil.  so it'll ask for a new default...
...

New:
...
self askForNewDefaultOnNextRequest.
...

Fix in inbox: System-Applications-SeanDeNigris.15
-- 
View this message in context: 
http://forum.world.st/Issue-3047-REFACTOR-Added-intention-revealing-helper-method-to-AppRegistry-class-register-tp2934490p2934490.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Another fixes to finalization (was Re: [update 1.2] #12161 - #12172)

2010-10-01 Thread Levente Uzonyi

On Fri, 1 Oct 2010, Igor Stasenko wrote:


I uploaded new changesets to
http://code.google.com/p/pharo/issues/detail?id=3002


I tested applying them in Pharo-Core-#12159
and then updating an image after that.

After update:
MCMethodDefinition cachedDefinitions size is 18668

But image don't feels slow.

As a side note, i recommend to review the MC caching mechanism towards
avoiding putting so much load
on finalization process (such as scanning 18k entries to find dead objects).

This is actually the purpose of new finalization scheme:
- it allows to avoid scanning whole weak dictionary in order to get
rid of expired associations.


WeakKeyDictionaries shouldn't be added to the finalization process at all. 
In the current case there's no finalization action at all, so it's 
totally pointless IMO. And these dictionaries are not thread-safe, so bad 
things can happen if they are registered with the finalization process.




I'm already implemented a variant of self-cleaning weak dictionary for Magma,
which using new finalization scheme, and avoids scanning huge number
of entries to discover few of them,
which became garbage.


Squeak's WeakKeyDictionaries are self cleaning, though the there's no 
guarantee that finalization action is performed when the key is GC'd.



Levente




--
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [Metacello] Re: loading groups with metacello

2010-10-01 Thread Dale Henrichs

Mariano Martinez Peck wrote:



On Fri, Oct 1, 2010 at 2:16 PM, Veronica Isabel Uquillas Gomez 
vuqui...@vub.ac.be mailto:vuqui...@vub.ac.be wrote:


Hi Mariano,

You already saw my problem.

With this you can check what is happening: (ConfigurationOfGlamour
project version: 'default') record: #('Core' 'Tests' 'Extras')


I don't understand why this loads Grease for example. Dale any idea?
I checked loadDirective but I didn't understand.

Cheers

Mariano


all the pre-requisites are being loaded and not only the groups.


Regards, Veronica ___ 
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr 
mailto:Pharo-project@lists.gforge.inria.fr 
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





Okay, Here's the printString of the loadDirectives:

linear load :
  linear load : default [ConfigurationOfGlamour]
load : ConfigurationOfGrease
  linear load : default [ConfigurationOfGlamour]
load : ConfigurationOfMondrian
  atomic load : default [ConfigurationOfGlamour]
load : Glamour-Announcements
load : Glamour-Helpers
load : Glamour-Core
load : Glamour-Presentations
load : Glamour-Browsers
load : Glamour-Tests-Core
load : Glamour-Morphic-Theme
load : Glamour-Examples
load : Glamour-Tools
linear load : default [ConfigurationOfMondrian]
  load : ConfigurationOfHealthReportProducer
linear load : default [ConfigurationOfMondrian]
  load : ConfigurationOfProfStef
atomic load : default [ConfigurationOfMondrian]
  linear load : 1.3 [ConfigurationOfProfStef]
load : ConfigurationOfShout
  linear load : 1.3 [ConfigurationOfProfStef]
linear load : 1.1.1 [ConfigurationOfShout]
  load : Shout-lr.90
  load : ShoutWorkspace.pharo-1-1-SeanDeNigris.6
load : ProfStef-Core-LaurentLaffont.11
load : ProfStefBrowser-LaurentLaffont.26
load : ProfStef-Tests-LaurentLaffont.8
load : ProfStef-Help-LaurentLaffont.1
  load : Mondrian
  load : CollectionExtensions
  atomic load : 0.1-baseline [ConfigurationOfHealthReportProducer]
load : HealthReportProducer
load : Glamour-Scripting
linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
  load : ConfigurationOfRefactoringBrowser
linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
  load : Grease-Core-lr.37
  load : Grease-Pharo-Core-jok.18
  linear load : 1.3 [ConfigurationOfRefactoringBrowser]
load : AST-Core-lr.73
load : Refactoring-Core-lr.136
  load : Grease-Slime-jok.5
load : Magritte-Model
load : Magritte-Morph
load : Glamour-Morphic-Renderer
load : Glamour-Tests-Morphic

and here's the section related to Grease (very end of directives):

load : Glamour-Scripting
linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
  load : ConfigurationOfRefactoringBrowser
linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
  load : Grease-Core-lr.37
  load : Grease-Pharo-Core-jok.18
  linear load : 1.3 [ConfigurationOfRefactoringBrowser]
load : AST-Core-lr.73
load : Refactoring-Core-lr.136
  load : Grease-Slime-jok.5
load : Magritte-Model
load : Magritte-Morph
load : Glamour-Morphic-Renderer
load : Glamour-Tests-Morphic

The load directive is in load order which is reverse prerequisite 
order. In other words, the clue for why Grease is loaded lies in the 
directives _following_ the Grease directives...


In this case Magritte-Model immediately follows the loading of Grease 
implying that Magritte-Model, requires Grease (and then confirmed by 
looking at the configuration)


Reading on: Magritte-Morph requires Magritte-Model, 
Glamour-Morphic-Renderer requires Magritte-Morph and 
Glamour-Tests-Morphic requires Glamour-Morphic-Renderer.


From the configuration, Glamour-Tests-Morphic is a member of Tests and 
Tests is being loaded (or recorded in this case).


Does this help?

Note that ConfigurationOfGlamour is not using ConfigurationOfMagritte2. 
I think that is because of problems with earlier versions of the 
CofigurationOfMagritte2, when seaside30 was loaded when you tried to 
load Magritte. The latest ConfigurationOfMagritte2 doesn't have that 
problem anymore, Glamour could be using ConfigurationOfMagritte2 now.


Dale

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Another fixes to finalization (was Re: [update 1.2] #12161 - #12172)

2010-10-01 Thread Igor Stasenko
On 1 October 2010 20:05, Levente Uzonyi le...@elte.hu wrote:
 On Fri, 1 Oct 2010, Igor Stasenko wrote:

 I uploaded new changesets to
 http://code.google.com/p/pharo/issues/detail?id=3002


 I tested applying them in Pharo-Core-#12159
 and then updating an image after that.

 After update:
 MCMethodDefinition cachedDefinitions size is 18668

 But image don't feels slow.

 As a side note, i recommend to review the MC caching mechanism towards
 avoiding putting so much load
 on finalization process (such as scanning 18k entries to find dead
 objects).

 This is actually the purpose of new finalization scheme:
 - it allows to avoid scanning whole weak dictionary in order to get
 rid of expired associations.

 WeakKeyDictionaries shouldn't be added to the finalization process at all.
 In the current case there's no finalization action at all, so it's totally
 pointless IMO. And these dictionaries are not thread-safe, so bad things can
 happen if they are registered with the finalization process.


well..then we probably should fix this:

MCMethodDefinitioncachedDefinitions
Definitions ifNil: [Definitions := WeakIdentityKeyDictionary new.
WeakArray addWeakDependent: Definitions].
^ Definitions

 I'm already implemented a variant of self-cleaning weak dictionary for
 Magma,
 which using new finalization scheme, and avoids scanning huge number
 of entries to discover few of them,
 which became garbage.

 Squeak's WeakKeyDictionaries are self cleaning, though the there's no
 guarantee that finalization action is performed when the key is GC'd.

it depends how badly you need to keep things clean as soon as its possible :)

It is really not necessary to add cachedDefinitions to weakdependets
and check them each time after GC.
In case of MC, i think a dead-keys cleanup should be triggered only
after package loading/unloading,
but not during each GC.


 Levente



 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Base64MimeConverterTest#testOnByteArray raise an error

2010-10-01 Thread Pavel Krivanek
The problem is that when the method base64Encoded was moved, packages
Collections and Network were marked as dirty but not the package
MimeConverter so the new version was not sent to the repository.

-- Pavel

2010/10/1 Cyrille Delaunay cy.delau...@gmail.com

 ByteArray  base64Encoded is no longer defined in Pharo 1.2, but used in the 
 test Base64MimeConverterTest#testOnByteArray. It raise a DNU message.

 I opened an Issue:
 http://code.google.com/p/pharo/issues/detail?id=3027q=base64Encodedcolspec=ID%20Type%20Status%20Summary%20Milestone%20Difficulty



 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Another fixes to finalization (was Re: [update 1.2] #12161 - #12172)

2010-10-01 Thread Igor Stasenko
Here the simple fix for it.





-- 
Best regards,
Igor Stasenko AKA sig.


mc-cache-fix.1.cs
Description: Binary data
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [ANN] Pharo-1.1.1-dev10.09.1

2010-10-01 Thread Bart Gauquie
Great,

gave it a try, loaded my app I was developing, and the page rendering speed
in Seaside has dropped from 15-20 msecs to 5-10 :-).
And all my tests are green!

keep them coming!

Regards,

Bart

2010/10/1 Mariano Martinez Peck marianop...@gmail.com

 Hi folks. We are releasing Pharo 1.1.1. This image is exactly same as Pharo
 1.1 but based on PharoCore 1.1.1. The versions of the external packages is
 the same as in Pharo 1.1. The difference is that PharoCore1.1.1 has
 integrated some fixes and the support for CogVM. This means that
 Pharo-1.1.1-dev10.09.1 can be run with both, normal PharoVM and CogVM. For
 CogVM we recommend to use the last binaries that can be found in
 http://www.mirandabanda.org/files/Cog/VM/. Right now the last one is
 http://www.mirandabanda.org/files/Cog/VM/VM.r2313/

 This CogVM version fixes the problem with Objects as methods, and thus,
 all the #run:with:with are working. This means that tools like TestCoverage
 and AutoTest are working correctly with CogVM.

 The link to the image is:
 https://gforge.inria.fr/frs/download.php/27543/Pharo-1.1.1-dev10.09.1.zip

 Cheers

 Mariano

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [squeak-dev] Re: Help is now able to define where subbooks are placed

2010-10-01 Thread Hannes Hirzel
Yes, this is very useful for me. Thank you Enrico and Thorsten!

--Hannes

On 10/1/10, Enrico Spinielli enrico.spinie...@googlemail.com wrote:
 Torsten,
 all thanks go to you for having thought/designed/implemented _and_ for
 following HelpSystem up!

 Well done
 Bye
 Enrico

 On Fri, Oct 1, 2010 at 00:19, Torsten Bergmann asta...@gmx.de wrote:
 Hi Enrico,

 found the time this evening to integrate your idea
 that custom help books should be able to define
 where subbooks should be placed/displayed:

    #pages
       ^(firstPage MyAppSubTutorial secondPage thirdPage)


 Just update your Squeak image to #10565 and you dont
 need to workaround this problem using a custom
 builder anymore.

 It is now also mentioned in the help systems help
 itself. See chapter STEP 7 - TIPS AND TRICKS.

 I've also opened an issue together with the
 changeset for Pharo 1.2 so that it will be
 integrated in one of the next pharo updates.

 http://code.google.com/p/pharo/issues/detail?id=3022

 Thanks for the idea and initial code!

 Bye
 T.
 --
 Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief!
 Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail




 --
 Enrico Spinielli
 Do Androids dream of electric sheep?— Philip K. Dick
 Hear and forget; see and remember;do and understand.—Mitchel Resnick



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Another fixes to finalization (was Re: [update 1.2] #12161 - #12172)

2010-10-01 Thread Igor Stasenko
I just tried to update image with old cache:
[ Utilities updateFromServer] timeToRun
397707

and without it:
[ Utilities updateFromServer] timeToRun
347708


397707 / 347708 asFloat  1.143795943722894

so, roughly 14% of CPU time (about 50 seconds) wasted on scanning the
cache at each GC.

Of course this measure a bit dirty, because there a network activity involved .


On 1 October 2010 20:33, Igor Stasenko siguc...@gmail.com wrote:
 Here the simple fix for it.





 --
 Best regards,
 Igor Stasenko AKA sig.




-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] haltOnce and haltOnCount

2010-10-01 Thread Hernan Wilkinson
ah, ok, I imagine that but what it was a bit of a surprise for me is that it
is implemented in Object... I mean, I know that halt is also implemented in
Object and it is the natural place to implement those messages, but if we
want to build a modular system, messages like halt, error, etc should be
removed from Object and seeing that Object is growing in its
responsibilities with these messages I think that goes against that path...
of course, if you decided that the trade off deserves it, fine by me...
I was thinking that halt for example could be implemented in MethodContext
(or ContextPart) so you can write something like thisContext halt and not
couple Object with Halt (of course we would be coupling MethodContext with
Halt, but it is a smaller coupling)... or just remove halt as a message and
force everybody to just write Halt signal of Halt signalOnce etc. I
mean, why Object implements halt? I know it is handy to do self halt but
also as handy as Halt signal... the only reason I see to implement halt in
Object is the possibility for any subclass to override that message, but I
haven't seen that in my years of smalltalker...

Anyway, just a late's Friday thought :-)

PS: A #haltIf: aBlock message would be handy too :-)



On Fri, Oct 1, 2010 at 8:53 AM, Stéphane Ducasse
stephane.duca...@inria.frwrote:

 + 1 really really important

 On Sep 30, 2010, at 11:38 PM, Alexandre Bergel wrote:

  I used haltOnce quite often when I had to debug the rendering facilities
 in Mondrian.
  Putting self halt in a drawOn: method can easily freeze your image.
 
  Alexandre
 
 
 
  On 30 Sep 2010, at 17:18, Hernan Wilkinson wrote:
 
  Hi,
  when are these messages used? what are the scenarios?
  I just want to understand why they are there...
 
  --
  Hernán Wilkinson
  Agile Software Development, Teaching  Coaching
  Mobile: +54 - 911 - 4470 - 7207
  email: hernan.wilkin...@10pines.com
  site: http://www.10Pines.com
 
  ___
  Pharo-project mailing list
  Pharo-project@lists.gforge.inria.fr
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
  --
  _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
  Alexandre Bergel  http://www.bergel.eu
  ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 
  ___
  Pharo-project mailing list
  Pharo-project@lists.gforge.inria.fr
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
*Hernán Wilkinson
Agile Software Development, Teaching  Coaching
Mobile: +54 - 911 - 4470 - 7207
email: hernan.wilkin...@10pines.com
site: http://www.10Pines.com http://www.10pines.com/*
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] haltOnce and haltOnCount

2010-10-01 Thread Guillermo Polito
There is already an issue about removing that responsibility from Object.  I
made a little enhancement some months ago (it was the first issue I fixed
:P) but it never got integrated because it was not urgent.

http://code.google.com/p/pharo/issues/detail?id=2394q=haltcolspec=ID%20Type%20Status%20Summary%20Milestone%20Difficulty

Cheers!

2010/10/1 Hernan Wilkinson hernan.wilkin...@10pines.com

 ah, ok, I imagine that but what it was a bit of a surprise for me is that
 it is implemented in Object... I mean, I know that halt is also implemented
 in Object and it is the natural place to implement those messages, but if we
 want to build a modular system, messages like halt, error, etc should be
 removed from Object and seeing that Object is growing in its
 responsibilities with these messages I think that goes against that path...
 of course, if you decided that the trade off deserves it, fine by me...
 I was thinking that halt for example could be implemented in MethodContext
 (or ContextPart) so you can write something like thisContext halt and not
 couple Object with Halt (of course we would be coupling MethodContext with
 Halt, but it is a smaller coupling)... or just remove halt as a message and
 force everybody to just write Halt signal of Halt signalOnce etc. I
 mean, why Object implements halt? I know it is handy to do self halt but
 also as handy as Halt signal... the only reason I see to implement halt in
 Object is the possibility for any subclass to override that message, but I
 haven't seen that in my years of smalltalker...

 Anyway, just a late's Friday thought :-)

 PS: A #haltIf: aBlock message would be handy too :-)



 On Fri, Oct 1, 2010 at 8:53 AM, Stéphane Ducasse 
 stephane.duca...@inria.fr wrote:

 + 1 really really important

 On Sep 30, 2010, at 11:38 PM, Alexandre Bergel wrote:

  I used haltOnce quite often when I had to debug the rendering facilities
 in Mondrian.
  Putting self halt in a drawOn: method can easily freeze your image.
 
  Alexandre
 
 
 
  On 30 Sep 2010, at 17:18, Hernan Wilkinson wrote:
 
  Hi,
  when are these messages used? what are the scenarios?
  I just want to understand why they are there...
 
  --
  Hernán Wilkinson
  Agile Software Development, Teaching  Coaching
  Mobile: +54 - 911 - 4470 - 7207
  email: hernan.wilkin...@10pines.com
  site: http://www.10Pines.com
 
  ___
  Pharo-project mailing list
  Pharo-project@lists.gforge.inria.fr
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
  --
  _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
  Alexandre Bergel  http://www.bergel.eu
  ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 
  ___
  Pharo-project mailing list
  Pharo-project@lists.gforge.inria.fr
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




 --
 *Hernán Wilkinson
 Agile Software Development, Teaching  Coaching
 Mobile: +54 - 911 - 4470 - 7207
 email: hernan.wilkin...@10pines.com
 site: http://www.10Pines.com http://www.10pines.com/*


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] haltOnce and haltOnCount

2010-10-01 Thread Marcus Denker

On Oct 1, 2010, at 8:08 PM, Hernan Wilkinson wrote:
 
 PS: A #haltIf: aBlock message would be handy too :-)

already there:

1 haltIf: [12].
1 haltIf: [:rec | rec isInteger].
1 haltIf: (12).
1 haltIf: #doIt

especially putting a symbol is very useful. e.g. you can out the selector of 
the test and then even
put a haltIf: into system methods called all the time. (e.g. collections).

Marcus

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] haltOnce and haltOnCount

2010-10-01 Thread Hernan Wilkinson
cool! I didn't see it :-)

2010/10/1 Marcus Denker marcus.den...@inria.fr


 On Oct 1, 2010, at 8:08 PM, Hernan Wilkinson wrote:


 PS: A #haltIf: aBlock message would be handy too :-)


 already there:

 1 haltIf: [12].
 1 haltIf: [:rec | rec isInteger].
 1 haltIf: (12).
 1 haltIf: #doIt

 especially putting a symbol is very useful. e.g. you can out the selector
 of the test and then even
 put a haltIf: into system methods called all the time. (e.g. collections).

 Marcus

 --
 Marcus Denker  -- http://www.marcusdenker.de
 INRIA Lille -- Nord Europe. Team RMoD.


 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




-- 
*Hernán Wilkinson
Agile Software Development, Teaching  Coaching
Mobile: +54 - 911 - 4470 - 7207
email: hernan.wilkin...@10pines.com
site: http://www.10Pines.com http://www.10pines.com/*
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [ANN] Pharo-1.1.1-dev10.09.1

2010-10-01 Thread Mariano Martinez Peck
2010/10/1 Bart Gauquie bart.gauq...@gmail.com

 Great,

 gave it a try, loaded my app I was developing, and the page rendering speed
 in Seaside has dropped from 15-20 msecs to 5-10 :-).


With the standard SqueakVM or with CogVM?


 And all my tests are green!

 keep them coming!


:)


 Regards,

 Bart

 2010/10/1 Mariano Martinez Peck marianop...@gmail.com

 Hi folks. We are releasing Pharo 1.1.1. This image is exactly same as
 Pharo 1.1 but based on PharoCore 1.1.1. The versions of the external
 packages is the same as in Pharo 1.1. The difference is that PharoCore1.1.1
 has integrated some fixes and the support for CogVM. This means that
 Pharo-1.1.1-dev10.09.1 can be run with both, normal PharoVM and CogVM. For
 CogVM we recommend to use the last binaries that can be found in
 http://www.mirandabanda.org/files/Cog/VM/. Right now the last one is
 http://www.mirandabanda.org/files/Cog/VM/VM.r2313/

 This CogVM version fixes the problem with Objects as methods, and thus,
 all the #run:with:with are working. This means that tools like TestCoverage
 and AutoTest are working correctly with CogVM.

 The link to the image is:
 https://gforge.inria.fr/frs/download.php/27543/Pharo-1.1.1-dev10.09.1.zip

 Cheers

 Mariano

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [ANN] Pharo-1.1.1-dev10.09.1

2010-10-01 Thread Mariano Martinez Peck
2010/10/1 Eliot Miranda eliot.mira...@gmail.com

 Hi Mariano,

 2010/10/1 Mariano Martinez Peck marianop...@gmail.com

 Hi folks. We are releasing Pharo 1.1.1. This image is exactly same as Pharo
 1.1 but based on PharoCore 1.1.1. The versions of the external packages is
 the same as in Pharo 1.1. The difference is that PharoCore1.1.1 has
 integrated some fixes and the support for CogVM. This means that
 Pharo-1.1.1-dev10.09.1 can be run with both, normal PharoVM and CogVM. For
 CogVM we recommend to use the last binaries that can be found in
 http://www.mirandabanda.org/files/Cog/VM/. Right now the last one is
 http://www.mirandabanda.org/files/Cog/VM/VM.r2313/

 This CogVM version fixes the problem with Objects as methods, and thus,
 all the #run:with:with are working. This means that tools like TestCoverage
 and AutoTest are working correctly with CogVM.


 WHile some simple things now work there's definitely at least one bug
 remaining (perform:withArguments: doesn't work for objects-as-methods) and
 Nicolas tried a more demanding test (the coverage test from XTreams) and
 found problems; see
 http://lists.gforge.inria.fr/pipermail/pharo-project/2010-September/033230.html.
  I'll be releasing a new VM that will fix the perform issue, but it remains
 to be seen whether the bugs Nicolas as found are fixed by this.  So while
 .33 is better Cog still doesn't support objects-as-method correctly.


Thanks Eliot for making this clear. Just let us know when this is fixed :)

Cheers

Mariano



 HTH
 Eliot


 The link to the image is:
 https://gforge.inria.fr/frs/download.php/27543/Pharo-1.1.1-dev10.09.1.zip

 Cheers

 Mariano

 ___
 Pharo-project mailing list

 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] [Metacello] Re: loading groups with metacello

2010-10-01 Thread Mariano Martinez Peck
On Fri, Oct 1, 2010 at 7:13 PM, Dale Henrichs dhenr...@vmware.com wrote:

 Mariano Martinez Peck wrote:



 On Fri, Oct 1, 2010 at 2:16 PM, Veronica Isabel Uquillas Gomez 
 vuqui...@vub.ac.be mailto:vuqui...@vub.ac.be wrote:

 Hi Mariano,

 You already saw my problem.

 With this you can check what is happening: (ConfigurationOfGlamour
 project version: 'default') record: #('Core' 'Tests' 'Extras')


 I don't understand why this loads Grease for example. Dale any idea?
 I checked loadDirective but I didn't understand.

 Cheers

 Mariano


 all the pre-requisites are being loaded and not only the groups.


 Regards, Veronica ___
 Pharo-project mailing list Pharo-project@lists.gforge.inria.fr mailto:
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



 Okay, Here's the printString of the loadDirectives:

 linear load :
  linear load : default [ConfigurationOfGlamour]
load : ConfigurationOfGrease
  linear load : default [ConfigurationOfGlamour]
load : ConfigurationOfMondrian
  atomic load : default [ConfigurationOfGlamour]
load : Glamour-Announcements
load : Glamour-Helpers
load : Glamour-Core
load : Glamour-Presentations
load : Glamour-Browsers
load : Glamour-Tests-Core
load : Glamour-Morphic-Theme
load : Glamour-Examples
load : Glamour-Tools
linear load : default [ConfigurationOfMondrian]
  load : ConfigurationOfHealthReportProducer
linear load : default [ConfigurationOfMondrian]
  load : ConfigurationOfProfStef
atomic load : default [ConfigurationOfMondrian]
  linear load : 1.3 [ConfigurationOfProfStef]
load : ConfigurationOfShout
  linear load : 1.3 [ConfigurationOfProfStef]
linear load : 1.1.1 [ConfigurationOfShout]
  load : Shout-lr.90
  load : ShoutWorkspace.pharo-1-1-SeanDeNigris.6
load : ProfStef-Core-LaurentLaffont.11
load : ProfStefBrowser-LaurentLaffont.26
load : ProfStef-Tests-LaurentLaffont.8
load : ProfStef-Help-LaurentLaffont.1
  load : Mondrian
  load : CollectionExtensions
  atomic load : 0.1-baseline [ConfigurationOfHealthReportProducer]
load : HealthReportProducer
load : Glamour-Scripting
linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
  load : ConfigurationOfRefactoringBrowser
linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
  load : Grease-Core-lr.37
  load : Grease-Pharo-Core-jok.18
  linear load : 1.3 [ConfigurationOfRefactoringBrowser]
load : AST-Core-lr.73
load : Refactoring-Core-lr.136
  load : Grease-Slime-jok.5
load : Magritte-Model
load : Magritte-Morph
load : Glamour-Morphic-Renderer
load : Glamour-Tests-Morphic

 and here's the section related to Grease (very end of directives):


load : Glamour-Scripting
linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
  load : ConfigurationOfRefactoringBrowser
linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
  load : Grease-Core-lr.37
  load : Grease-Pharo-Core-jok.18
  linear load : 1.3 [ConfigurationOfRefactoringBrowser]
load : AST-Core-lr.73
load : Refactoring-Core-lr.136
  load : Grease-Slime-jok.5
load : Magritte-Model
load : Magritte-Morph
load : Glamour-Morphic-Renderer
load : Glamour-Tests-Morphic

 The load directive is in load order which is reverse prerequisite
 order. In other words, the clue for why Grease is loaded lies in the
 directives _following_ the Grease directives...



a  I was looking BEFORE, not after hehehe.. what an idiot I am :)



 In this case Magritte-Model immediately follows the loading of Grease
 implying that Magritte-Model, requires Grease (and then confirmed by looking
 at the configuration)

 Reading on: Magritte-Morph requires Magritte-Model,
 Glamour-Morphic-Renderer requires Magritte-Morph and Glamour-Tests-Morphic
 requires Glamour-Morphic-Renderer.

 From the configuration, Glamour-Tests-Morphic is a member of Tests and
 Tests is being loaded (or recorded in this case).

 Does this help?


Completly understood :)



 Note that ConfigurationOfGlamour is not using ConfigurationOfMagritte2. I
 think that is because of problems with earlier versions of the
 CofigurationOfMagritte2, when seaside30 was loaded when you tried to load
 Magritte. The latest ConfigurationOfMagritte2 doesn't have that problem
 anymore, Glamour could be using ConfigurationOfMagritte2 now.

 Dale

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Introducing smallUML: a little project to help us document :)

2010-10-01 Thread Sean P. DeNigris


Carla F. Griggio wrote:
 
 OK, although I tried to use what I separated in the Minimal Connectors
 package and there are still some things missing to be able to use it
 independently. So (although we're already talking about that here XD) we
 shouldn't announce that yet.
 

Any progress with Minimal Connectors?  I would love to use it in several of
the projects I'm working on.

Thanks.
Sean
-- 
View this message in context: 
http://forum.world.st/Introducing-smallUML-a-little-project-to-help-us-document-tp2331341p2937340.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [Metacello] Re: loading groups with metacello

2010-10-01 Thread Dale Henrichs

Mariano Martinez Peck wrote:



On Fri, Oct 1, 2010 at 7:13 PM, Dale Henrichs dhenr...@vmware.com 
mailto:dhenr...@vmware.com wrote:


Mariano Martinez Peck wrote:



On Fri, Oct 1, 2010 at 2:16 PM, Veronica Isabel Uquillas Gomez
vuqui...@vub.ac.be mailto:vuqui...@vub.ac.be
mailto:vuqui...@vub.ac.be mailto:vuqui...@vub.ac.be wrote:

Hi Mariano,

You already saw my problem.

With this you can check what is happening: (ConfigurationOfGlamour
project version: 'default') record: #('Core' 'Tests' 'Extras')


I don't understand why this loads Grease for example. Dale any idea?
I checked loadDirective but I didn't understand.

Cheers

Mariano


all the pre-requisites are being loaded and not only the groups.


Regards, Veronica
___ Pharo-project
mailing list Pharo-project@lists.gforge.inria.fr
mailto:Pharo-project@lists.gforge.inria.fr
mailto:Pharo-project@lists.gforge.inria.fr
mailto:Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



Okay, Here's the printString of the loadDirectives:

linear load :
 linear load : default [ConfigurationOfGlamour]
   load : ConfigurationOfGrease
 linear load : default [ConfigurationOfGlamour]
   load : ConfigurationOfMondrian
 atomic load : default [ConfigurationOfGlamour]
   load : Glamour-Announcements
   load : Glamour-Helpers
   load : Glamour-Core
   load : Glamour-Presentations
   load : Glamour-Browsers
   load : Glamour-Tests-Core
   load : Glamour-Morphic-Theme
   load : Glamour-Examples
   load : Glamour-Tools
   linear load : default [ConfigurationOfMondrian]
 load : ConfigurationOfHealthReportProducer
   linear load : default [ConfigurationOfMondrian]
 load : ConfigurationOfProfStef
   atomic load : default [ConfigurationOfMondrian]
 linear load : 1.3 [ConfigurationOfProfStef]
   load : ConfigurationOfShout
 linear load : 1.3 [ConfigurationOfProfStef]
   linear load : 1.1.1 [ConfigurationOfShout]
 load : Shout-lr.90
 load : ShoutWorkspace.pharo-1-1-SeanDeNigris.6
   load : ProfStef-Core-LaurentLaffont.11
   load : ProfStefBrowser-LaurentLaffont.26
   load : ProfStef-Tests-LaurentLaffont.8
   load : ProfStef-Help-LaurentLaffont.1
 load : Mondrian
 load : CollectionExtensions
 atomic load : 0.1-baseline [ConfigurationOfHealthReportProducer]
   load : HealthReportProducer
   load : Glamour-Scripting
   linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
 load : ConfigurationOfRefactoringBrowser
   linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
 load : Grease-Core-lr.37
 load : Grease-Pharo-Core-jok.18
 linear load : 1.3 [ConfigurationOfRefactoringBrowser]
   load : AST-Core-lr.73
   load : Refactoring-Core-lr.136
 load : Grease-Slime-jok.5
   load : Magritte-Model
   load : Magritte-Morph
   load : Glamour-Morphic-Renderer
   load : Glamour-Tests-Morphic

and here's the section related to Grease (very end of directives): 



   load : Glamour-Scripting
   linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
 load : ConfigurationOfRefactoringBrowser
   linear load : 1.0-alpha9.1 [ConfigurationOfGrease]
 load : Grease-Core-lr.37
 load : Grease-Pharo-Core-jok.18
 linear load : 1.3 [ConfigurationOfRefactoringBrowser]
   load : AST-Core-lr.73
   load : Refactoring-Core-lr.136
 load : Grease-Slime-jok.5
   load : Magritte-Model
   load : Magritte-Morph
   load : Glamour-Morphic-Renderer
   load : Glamour-Tests-Morphic

The load directive is in load order which is reverse prerequisite
order. In other words, the clue for why Grease is loaded lies in
the directives _following_ the Grease directives...



a  I was looking BEFORE, not after hehehe.. what an idiot I am :)


Not necessarily ... I didn't figure that out until after I'd 
understood why Grease was being loaded ... haha!


Dale

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Introducing smallUML: a little project to help us document :)

2010-10-01 Thread Carla F. Griggio
I've just arrived home this week, so I made no progress over the last two
weeks. But at ESUG I talked a little with Fernando Olivero and made me
realize that I'm very close to finish the Minimal Connectors package, at
least the minimal minimal connectors XD

I'll let you know :)

Let me know what are your projects about and how you would use this :O

On Fri, Oct 1, 2010 at 4:19 PM, Sean P. DeNigris s...@clipperadams.comwrote:



 Carla F. Griggio wrote:
 
  OK, although I tried to use what I separated in the Minimal Connectors
  package and there are still some things missing to be able to use it
  independently. So (although we're already talking about that here XD) we
  shouldn't announce that yet.
 

 Any progress with Minimal Connectors?  I would love to use it in several of
 the projects I'm working on.

 Thanks.
 Sean
 --
 View this message in context:
 http://forum.world.st/Introducing-smallUML-a-little-project-to-help-us-document-tp2331341p2937340.html
 Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] Chilean mailing list

2010-10-01 Thread Alexandre Bergel
Hi All!

We've just create a mailing list for discussing about Pharo/Smalltalk in Chile.
pharo-ch...@googlegroups.com
http://groups.google.com/group/pharo-chile

Cheers,
Alexandre

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






___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Chilean mailing list

2010-10-01 Thread Mariano Martinez Peck
On Fri, Oct 1, 2010 at 10:18 PM, Alexandre Bergel alexan...@bergel.euwrote:

 Hi All!

 We've just create a mailing list for discussing about Pharo/Smalltalk in
 Chile.
pharo-ch...@googlegroups.com
http://groups.google.com/group/pharo-chile


Does it make sense ?  I ask because maybe with clubSmalltalk (in Spanish) is
enough.



 Cheers,
 Alexandre

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






 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] Source in image [WAS] Re: [Pharo-users] Distributing 'minimal' image

2010-10-01 Thread Mariano Martinez Peck
On Fri, Oct 1, 2010 at 8:26 AM, Igor Stasenko siguc...@gmail.com wrote:

 On 1 October 2010 08:48, Mariano Martinez Peck marianop...@gmail.com
 wrote:
 
 
  On Thu, Sep 30, 2010 at 11:07 PM, Johan Fabry jfa...@dcc.uchile.cl
 wrote:
 
  Hi all,
 
  I am planning to put online a minimal image that contains AspectMaps,
 with
  some models pre-loaded. Two questions:
  - Is there an easy way to strip this image of dev tools et cetera?
 
  Not really. The easiest way is to have a Configuration of Metacello that
  takes care of loading all your code with all your dependencies. Then,
 take a
  PharoCore and load your code there.
  In addition, you may want to evaluate ScriptLoader cleanUpForProduction
 at
  the end. Check the method to see what it does.
 
 
  - How can I make it so that I can distribute it without the changes
 file?
  (Right now the image complains of a missing changes file if it is not
 there
  ...)
 
 
  I am aware of Smalltalk abandonSources  to avoid using .sources. You
 won't
  see things like the temp names, and stuff will be decompiled instead.

 With a little effort, you can embed source code into method trailers.
 Then you won't need .sources nor .chanes to see the real source
 instead of decompiling it.
 But you will loose method stamps.


I WOULD LOVE that. I mean, I don't care if the dev image is 10 mb bigger, if
I will improve performance since I don't need to fetch a .sources file.
what would be awesome is if we can have both, this is: for the dev image, I
would like to have the sources in the image, but not for PharoCore. Or maybe
also in PharoCore but to be sure to be able to remove them, and use
.sources/decompiler as it is now. Maybe put that in #cleanUpForProduction or
similar.

thoughts?





  For the .changes you can start the image without them, there will raise a
  popup at the beginning. The problem is if you then do sometthing that
 should
  be written there. Not sure here...
 
 yeah.

  cheers
 
  Mariano
 
 
 
 
  Thanks in advance!
  --
  Johan Fabry
  jfa...@dcc.uchile.cl - 
  http://dcc.uchile.cl/~jfabryhttp://dcc.uchile.cl/%7Ejfabry
  PLEIAD Lab - Computer Science Department (DCC) - University of Chile
 
 
 
 
  ___
  Pharo-users mailing list
  pharo-us...@lists.gforge.inria.fr
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
 
 
  ___
  Pharo-users mailing list
  pharo-us...@lists.gforge.inria.fr
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
 
 



 --
 Best regards,
 Igor Stasenko AKA sig.

 ___
 Pharo-users mailing list
 pharo-us...@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Chilean mailing list

2010-10-01 Thread Alexandre Bergel
 We've just create a mailing list for discussing about Pharo/Smalltalk in 
 Chile.
pharo-ch...@googlegroups.com
http://groups.google.com/group/pharo-chile
 
 Does it make sense ?  I ask because maybe with clubSmalltalk (in Spanish) is 
 enough.

Yes it makes sense because most of the members list are from the University of 
Chile. This means that people know each other. The effect will be different 
with ClubSmalltalk. 

Moreover, during my lectures and presentations I talk much more about Pharo 
than Smalltalk. 

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






___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Introducing smallUML: a little project to help us document :)

2010-10-01 Thread Sean P. DeNigris


Carla F. Griggio wrote:
 
 Let me know what are your projects about and how you would use this :O
 

I've been working on a mind-mapping-like app and some visual browsing tools
(e.g. an implementorsOF browser that draws a graph of possible execution
paths), and have been implementing connectors-like functionality from
scratch, but I'd be happy to give the from scratch part up ;-)

Sean
-- 
View this message in context: 
http://forum.world.st/Introducing-smallUML-a-little-project-to-help-us-document-tp2331341p2945841.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Source in image [WAS] Re: [Pharo-users] Distributing 'minimal' image

2010-10-01 Thread Levente Uzonyi

On Fri, 1 Oct 2010, Mariano Martinez Peck wrote:


On Fri, Oct 1, 2010 at 8:26 AM, Igor Stasenko siguc...@gmail.com wrote:


On 1 October 2010 08:48, Mariano Martinez Peck marianop...@gmail.com
wrote:



On Thu, Sep 30, 2010 at 11:07 PM, Johan Fabry jfa...@dcc.uchile.cl

wrote:


Hi all,

I am planning to put online a minimal image that contains AspectMaps,

with

some models pre-loaded. Two questions:
- Is there an easy way to strip this image of dev tools et cetera?


Not really. The easiest way is to have a Configuration of Metacello that
takes care of loading all your code with all your dependencies. Then,

take a

PharoCore and load your code there.
In addition, you may want to evaluate ScriptLoader cleanUpForProduction

at

the end. Check the method to see what it does.



- How can I make it so that I can distribute it without the changes

file?

(Right now the image complains of a missing changes file if it is not

there

...)



I am aware of Smalltalk abandonSources  to avoid using .sources. You

won't

see things like the temp names, and stuff will be decompiled instead.


With a little effort, you can embed source code into method trailers.
Then you won't need .sources nor .chanes to see the real source
instead of decompiling it.
But you will loose method stamps.



I WOULD LOVE that. I mean, I don't care if the dev image is 10 mb bigger, if
I will improve performance since I don't need to fetch a .sources file.
what would be awesome is if we can have both, this is: for the dev image, I
would like to have the sources in the image, but not for PharoCore. Or maybe
also in PharoCore but to be sure to be able to remove them, and use
.sources/decompiler as it is now. Maybe put that in #cleanUpForProduction or
similar.

thoughts?


You'd also lose versioning, since a trailer can only hold one version of 
the source code. Btw, do you really have a performance issue reading the 
sources? With Cog and Squeak 4.2, I get:


methods := CompiledMethod allInstances shuffle.
[ methods do: #getSource ] timeToRun === 1162

So it takes ~25 microseconds to fetch the source of a method on average. 
That's more than 39000 methods per second. It should be enough IMHO.



Levente









For the .changes you can start the image without them, there will raise a
popup at the beginning. The problem is if you then do sometthing that

should

be written there. Not sure here...


yeah.


cheers

Mariano





Thanks in advance!
--
Johan Fabry
jfa...@dcc.uchile.cl - 
http://dcc.uchile.cl/~jfabryhttp://dcc.uchile.cl/%7Ejfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile




___
Pharo-users mailing list
pharo-us...@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users



___
Pharo-users mailing list
pharo-us...@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users






--
Best regards,
Igor Stasenko AKA sig.

___
Pharo-users mailing list
pharo-us...@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users





___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] [ANN] Pharo-1.1.1-dev10.09.1

2010-10-01 Thread Germán Arduino
Excellent work, thanks Mariano!

2010/10/1 Mariano Martinez Peck marianop...@gmail.com:
 Hi folks. We are releasing Pharo 1.1.1. This image is exactly same as Pharo
 1.1 but based on PharoCore 1.1.1. The versions of the external packages is
 the same as in Pharo 1.1. The difference is that PharoCore1.1.1 has
 integrated some fixes and the support for CogVM. This means that
 Pharo-1.1.1-dev10.09.1 can be run with both, normal PharoVM and CogVM. For
 CogVM we recommend to use the last binaries that can be found in
 http://www.mirandabanda.org/files/Cog/VM/. Right now the last one is
 http://www.mirandabanda.org/files/Cog/VM/VM.r2313/

 This CogVM version fixes the problem with Objects as methods, and thus,
 all the #run:with:with are working. This means that tools like TestCoverage
 and AutoTest are working correctly with CogVM.

 The link to the image is:
 https://gforge.inria.fr/frs/download.php/27543/Pharo-1.1.1-dev10.09.1.zip

 Cheers

 Mariano

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] A Mentoring Course on Smalltalk Code License

2010-10-01 Thread Andres Valloud
I am not sure the code in the book needs a license.  After all, 
eventually you will get the distribution for the source code in question 
and then you will (should) have an MIT license... does that make sense?


On 9/30/10 19:23 , Sean P. DeNigris wrote:



Andres Valloud-4 wrote:


Well, since this discussion is public now :)


hee hee


Andres Valloud-4 wrote:


... exactly what seems to be
the problem?  The book talks about code that is often in the public
Store repository.  Is the problem that the code in the public Store
repository doesn't have an MIT license?  Or is the problem that the book
that talks about the code in the public Store repository doesn't say
and the code has an MIT license?



Would a license expert weigh in here?  Andres, would it be difficult to add
a note to the book specifying that the code in it is MIT?


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Source in image [WAS] Re: [Pharo-users] Distributing 'minimal' image

2010-10-01 Thread Igor Stasenko

 I WOULD LOVE that. I mean, I don't care if the dev image is 10 mb bigger,
 if
 I will improve performance since I don't need to fetch a .sources file.
 what would be awesome is if we can have both, this is: for the dev image,
 I
 would like to have the sources in the image, but not for PharoCore. Or
 maybe
 also in PharoCore but to be sure to be able to remove them, and use
 .sources/decompiler as it is now. Maybe put that in #cleanUpForProduction
 or
 similar.

 thoughts?

 You'd also lose versioning, since a trailer can only hold one version of the
 source code. Btw, do you really have a performance issue reading the
 sources? With Cog and Squeak 4.2, I get:

 methods := CompiledMethod allInstances shuffle.
 [ methods do: #getSource ] timeToRun === 1162

 So it takes ~25 microseconds to fetch the source of a method on average.
 That's more than 39000 methods per second. It should be enough IMHO.



Well, you can always change the trailer(s) to hold additional info.
As i told before, we need a source management layer, which allows
multiple different implementations,
then its not quite important how/where we persisting sources, since we
could switch between them,
or use different source manager on a per-method basis.

 Levente


-- 
Best regards,
Igor Stasenko AKA sig.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project