Re: [Pharo-project] [ANN] Eclipse Icons for Pharo

2011-12-12 Thread Ben Coman




I forgot to mention this list of eclipse icons 
http://eclipse-icons.i24.cc/


Ben Coman wrote:

  
  
The EPL does not seem the same show stopper as the GPL since the Eclipse
License
and FAQ indicate
it is not viral like the GPL.  There is no requirement that an EPL
licensed program combined with a
non-EPL licensed program requires the combination to be licensed under
the EPL as a whole.  In fact it is designed to allow distribution of
closed source commercial applications based on it while keeping the
common base open source. 
  
FAQ#17 actually says: "When incorporating a portion of a Program
licensed under the EPL into my own proprietary product distributed in
object code form, can I use a single license for the full product, in
other words, covering the portion of the Program plus my own code? Answer:
Yes. The object code for the product may be distributed under a single
license as long as it references the EPL portion and complies, for
that portion, with the terms of the EPL."
  
Complying with the terms effectively be satisfied by:
1. "sources" be available "just for the icons"
2. Disclaiming warranty and liability - which the MIT already does
3. Assumedly no patent issues arising from inclusion of icons.
  
  
Stéphane Ducasse wrote:
  
I'm not sure that I would like to carry the Eclipse License around in Pharo :)


On Dec 11, 2011, at 3:15 AM, Esteban Lorenzano wrote:
  

  Hi, 

Today I was bored and not wanting to think too much... but I wanted to do something for Pharo... and I never liked the current Pharo icons, so I took one icon library I really like and changed all needed icons (well... all that I saw). 
Here a couple of screen shots: 

Captura de pantalla 2011-12-10 a la(s) 23.05.55.png
Captura de pantalla 2011-12-10 a la(s) 23.06.20.png

Of course, I don't think they are perfect (also maybe I didn't pick the best icons), but I think they look a lot better than the older.

If you want to see how they look, this are the packages: 

for Pharo 1.3: 

Eclipse-Icons-EstebanLorenzano.2.mcz

for Pharo 1.4:

Eclipse-Icons-EstebanLorenzano.4.mcz


Then you execute: 

ThemeIcons initializeIcons.	
World resetWorldMenu.

... and enjoy your new icons :)

btw... this icons are in an open-source license, the EPL: http://www.eclipse.org/legal/epl-v10.html
so, maybe –if all agree–, we can add this icons to regular distribution :)

best,
Esteban






  
  
  







Re: [Pharo-project] [ANN] Eclipse Icons for Pharo

2011-12-12 Thread Schwab,Wilhelm K
Some specific constructive feedback: the ones that don't work (IMHO) are the 
debug and profile icons.  Overall,  great job!





From: pharo-project-boun...@lists.gforge.inria.fr 
[pharo-project-boun...@lists.gforge.inria.fr] on behalf of Sven Van 
Caekenberghe [s...@beta9.be]
Sent: Sunday, December 11, 2011 4:04 AM
To: Pharo-project@lists.gforge.inria.fr
Subject: Re: [Pharo-project] [ANN] Eclipse Icons for Pharo

On 11 Dec 2011, at 03:15, Esteban Lorenzano wrote:

 Today I was bored and not wanting to think too much... but I wanted to do 
 something for Pharo...

Great initiative!

I personnaly don't like each of them, but these icons form a big, consistent 
set and make a good modernization of the UI. We should take this as a start and 
go over all missing ones, and maybe add a few unique once.

Thanks.

Sven



[Pharo-project] Latest Zinc in Pharo 1.3 with MetacelloConfiguration

2011-12-12 Thread Francois Stephany
But I'd like to do that with a MetacelloConfiguration. May I add a 
version 14 in the ConfigurationOfZincHTTPComponents?


Can I use the latest versions of each package ? Or are there some 
'stable' versions I should use ?


There are two ConfigurationOfZincHTTPComponents: one in the Zn 
repository and one in the MetacelloRepository. Which one should I 
update? Why is there two different place to find it?


Cheers,

Francois

--
http://tulipemoutarde.be
BE: +32 (0)65 709 131
CA: +1 778 558 3225



Re: [Pharo-project] Cleaning up SmartRefStream use

2011-12-12 Thread Stéphane Ducasse

On Dec 11, 2011, at 4:54 PM, Mariano Martinez Peck wrote:

 
 
 On Sun, Dec 11, 2011 at 4:35 PM, Stéphane Ducasse stephane.duca...@inria.fr 
 wrote:
 
 On Dec 11, 2011, at 4:26 PM, Mariano Martinez Peck wrote:
 
 
 
  On Sun, Dec 11, 2011 at 11:32 AM, Stéphane Ducasse 
  stephane.duca...@inria.fr wrote:
  Indeed this is fun I was doing the same :)
  Now I do not understand why some parts of the system uses dataStream, 
  others ReferenceStream and finally others SmartRefStream
  why not all of them use SmartRefStream.
 
  It is not that I like these guys, but their class comments are pretty clear:
  - DataStream does NOT handle cycles, but hence it may be faster in certain 
  scenarios. I guess that for example, Monticello is sure that in its 
  definitions, there cannot be cycles.  In addition, it doesn't take into 
  account variables names/order and hence class reshape isn't supported.
  - ReferenceStream supports cycles but still doesn't support class reshape.
  - SmartRefStream supports cycles and class reshape.
 
 sounds good
 
 Yes it does. In fact, I would love also to have those things 
 optional/configurable in Fuel: optional cycle detection and optional class 
 reshape support :)
  
 then we should be able to replace all the reference stream and smart by fuel.
 
 Yes, but Fuel is not completly ready to fully replace them. There are some 
 hooks they provide that Fuel does not yet. But we will get there at some 
 point.

we will have because we do not want to stay indefinitely with image segment and 
smart ref. :)

  
 
 stef
 
 
 
 -- 
 Mariano
 http://marianopeck.wordpress.com
 




Re: [Pharo-project] Help: Zodiac secure server.

2011-12-12 Thread Sven Van Caekenberghe
Prasad,

Comments inline:

On 11 Dec 2011, at 19:06, Prasad Khurd wrote:

 socketStreamOn: socket
 | stream sss |
 stream := ZdcSecureSocketStream on: socket.
 stream
 binary;
 shouldSignal: true;
 autoFlush: false;
 bufferSize: self class socketBufferSize;

The 4 messages above are not necessary (they are no-ops for 
ZdcSecureSocketStream, see their implementation).

 timeout: self class socketStreamTimeout.
 stream sslSession certificateName: '/home/khurd/pharo/cert.pem'.

sss := stream sslSession.
 Transcript cr; show: 'Is connected: ', sss isConnected printString, 
 'certVerifState: ', sss certificateVerificationState printString.
 stream accept.
 
 At the transcript output i get 
 Is connected: false certVerifState: 0
 which leads me to believe the certificate (cert.pem) is valid but the 
 sslSession has disconnected

The SSL session can only be OK *after* the #accept.

 and i get a walkback in accept stating the 
 connection is closed. Are any of the stream settings wrong? Can u please 
 share briefly how i could debug here…

What is the walkback ?

 Also do i need to set the certificateName on the client stream's sslSession?
 
 ss := ZdcSecureSocketStream 
  openConnectionToHostNamed: 'localhost' port: 443.
 ss sslSession certificateName: '/home/khurd/pharo/cacert.pem'.

Each secure stream has an SSLSession instance on which you should set the 
certificate once.
The argument should be the full path to the .pem file which must include both 
the certificate and the private key.
In the document that you used I think it should be key-cert.pem, the combined 
private key and certificate.

Good luck and be sure to let me know how it goes.

Sven

PS: BTW I guess you are on Linux ? Because on Mac OS X this won't work due to 
missing functionality in the plugin.




Re: [Pharo-project] NBCairo

2011-12-12 Thread Javier Pimás
Excelent! this is really good! I added you to the NBCairo admins, can
you copy them to squeaksource? (I have a really crappy internet
connection right now)

Cheers,
Javier

On 12/11/11, Fernando Olivero fernando.oliv...@usi.ch wrote:
 Hi, Javier  i've enhanced a bit the NBCairo bindings.

 Made the examples work with FS and directly display on the Display,
 without creating an ImageMorph, and also release the png's.
 I've changed the protocol of NBCairo, and updated it to subclass
 NBExternalLibrary, now present in NB.

 I've attached the monticello packages, let me know what do you think.

 Fernando
 pd: almost have the pango bindings working, screenshots soon.



-- 
Lic. Javier Pimás
Ciudad de Buenos Aires



Re: [Pharo-project] Keymapping OB conflict (was Re: Chasing Browsers)

2011-12-12 Thread Stéphane Ducasse
All the compilation chain and code management and manipulation tools should be 
able to work on remote environment. 
We already discussed and I do not have the time to explain that the design of 
john was not taking into account that 
we would like to be able to work with one tool on another environment. The 
Browser environment = the complete code in the image
does not work anymore. Anyway you do not want to change and this is perfect. 
It is just raging that I do not have enough time to fix it.

Now we will see in 1.4 if people want to still use 1.3 or if they have benefit 
to work with 1.4.
We integrated RB because we need to be able to move forward. It would be easy 
to have two configurations one for 1.3 and one for 1.4
but since you do not want to maintain it when you change your versions then we 
have to spend more time and frustration 
but we will do it. I spent a full day the last time while it would have cost 
you may be 10 min but I have no problem with that since
the only thing I can do is to do it, I will do it. 

We will continue to work and push pharo and people can continue to use it or 
not. We know where we want to go 
and we will take responsibility and probably it will burn a bit more of our 
energy but there is no other paths sadly.

Stef

On Dec 11, 2011, at 4:42 PM, Lukas Renggli wrote:

 This is important for us to know that and this is a really nice stab
 in our back and this will kill a lot of the effort we build over the years.
 
 I don't understand why you think this is a stab into your back? I have
 repeated the same concerns over and over again.
 
 Now how can we make progress if we do not change Pharo?
 
 Again, we already discussed this many times. I think Pharo is totally
 off the track: Pharo should concentrate on getting a stable core and
 enabling distributions on top, not on integrating as much new things
 as possible.
 
 May be a dead pharo is better for you.
 
 A dead Pharo is not my goal. I need a minimal Pharo with an absolutely
 trusted and stable core; a system where I can load all my code; a
 system that does not force me to use things I don't want to use.
 
 @Lukas: please, could you point out what are the expected problems?
 For example, all PetitParser-Tests are green out of the box in the latest 
 1.4.
 
 Nice, maybe the others also just work?
 
 OB does not work though because Polymorph changed (and the debugger
 doesn't even open in the UI thread anymore either, so it is not
 possible to figure out the problem); and because it expects a
 different version of RB.
 
 You were against changing RB, so how can we do remote tooling?
 
 I was against chaining RB, because the proposed changes undermined
 design decisions in RB. In general, it feels extremely strange to me
 if people change code (or even class comments) without understanding
 the code.
 
 Also, for that matter, I don't see how you want to use RB for remote
 tooling? If you remember, I pointed out an interview a while ago with
 John where they discuss why remote tooling wouldn't work without
 rewriting most parts.
 
 Lukas
 
 -- 
 Lukas Renggli
 www.lukas-renggli.ch
 




Re: [Pharo-project] native boost is the best thing since COGVM

2011-12-12 Thread Javier Pimás
Cl!!!

On 12/11/11, Fernando Olivero fernando.oliv...@usi.ch wrote:
 I was able to create the binding to Pango using NB.

 The ultimate goal is to provide a cleaner implementation of text widgets.

 Thanks Igor !

 Fernando



-- 
Lic. Javier Pimás
Ciudad de Buenos Aires



Re: [Pharo-project] Keymapping OB conflict (was Re: Chasing Browsers)

2011-12-12 Thread Stéphane Ducasse
 
 
 Now how can we make progress if we do not change Pharo?
 
 Again, we already discussed this many times. I think Pharo is totally
 off the track: Pharo should concentrate on getting a stable core and
 enabling distributions on top, not on integrating as much new things
 as possible.

How can we remove from the kernel the ugly browser classes and tools, if
people do not support the new tools?
How can we redo senders and implementors (fix the ugly listMorph treemorph)
 when we cannot maintain OB (because we do not understand it)?

So we are probably not so off-track that you believe. It will take more time
that if people would collaborate with us, but we will get there.

Ok so this is my last mail on that topic. I lost already too much energy that I 
should have
spent on 1.4.

Stef






[Pharo-project] [update 1.4] #14256

2011-12-12 Thread Marcus Denker
14256
-

Issue 5086: remove #associationDeclareAt:
http://code.google.com/p/pharo/issues/detail?id=5086

Issue 5090: remove a call to withAllSuperAndSubclassesDoGently:
http://code.google.com/p/pharo/issues/detail?id=5090

Issue 5088: TextStyleTest is empty. Remove
http://code.google.com/p/pharo/issues/detail?id=5088

Issue 5074: Move Object#copyTwoLevel to finder package
http://code.google.com/p/pharo/issues/detail?id=5074

Issue 4840: Schedulebetween:and:do can iterate over the wrong dates.
http://code.google.com/p/pharo/issues/detail?id=4840

Issue 5089: clean unused methods related to filter streaming
http://code.google.com/p/pharo/issues/detail?id=5089



--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] Do we need the URI Package?

2011-12-12 Thread Sven Van Caekenberghe

On 11 Dec 2011, at 11:38, Marcus Denker wrote:

 Hi,
 
 There are three packages concerned with URLs:
 
   - ZnUrl in Zinc
   - Network-URI
   - Network-Url
 
 URI was a package from Impara that was used extensively in all Impara 
 products and Sophie... back than,
 the idea was to integrate Impara infrastructure in Squeak, but that did not 
 happen due to politics... 
 
 Network-URI seems to be used nowhere in the system, so I guess we can remove 
 it? Or is anyone using it?

ZnUrl started as a copy of Seaside's WAUrl. From the class comment:

  I am ZnUrl, an implementation of an interpreted HTTP(S) URL/URI. 
  Contrary to other implementations, this one is specific for HTTP(S).

In other words, it might not be general enough, although I think it is better 
in its domain.
Covering all possible URI/URL types over all kinds of applications is not 
simple.

Yes, we need to simplify this, but it is a lot of work. Maybe we could have a 
look at what other libraries do.

Sven


Re: [Pharo-project] [ANN] Eclipse Icons for Pharo

2011-12-12 Thread Schwab,Wilhelm K
Options are good.





From: pharo-project-boun...@lists.gforge.inria.fr 
[pharo-project-boun...@lists.gforge.inria.fr] on behalf of Esteban Lorenzano 
[esteba...@gmail.com]
Sent: Sunday, December 11, 2011 7:59 AM
To: Pharo-project@lists.gforge.inria.fr; fernando.oliv...@usi.ch
Subject: Re: [Pharo-project] [ANN] Eclipse Icons for Pharo

Hi Fernando,

oops... I forgot your icon importer, sorry :P

I would like –for a future– to integrate it to pharo and replace current 
ThemeIcons with an icon strategy based on your package... maybe that is the 
best future scenario for icons.

best,
Esteban

El 11/12/2011, a las 8:49a.m., Fernando Olivero escribió:

 Hi Esteban, nice work!
 For importing the icons you can use the toolset i've developed: it
 automates completely the process of importing a complete set of icons
 of a given family.

 ExternalIconFamily @ squeaksource.
 I've used it for importing the Oxygen icon set, and others (you can
 google the list for previous related emails).

 Fernando

 On Sun, Dec 11, 2011 at 10:38 AM, Stéphane Ducasse
 stephane.duca...@inria.fr wrote:
 Esteban
 I know that feeling :)

 :)
 Now I'm not sure that I would like to carry the Eclipse License around in 
 Pharo :)
 What are the other icons sets we could use with a nice license and we do it 
 :).
 famfam?

 We should clean also the old icons because some are really old.
 Thanks for pushing that. I would love to have new icons for Pharo.
 Stef



 On Dec 11, 2011, at 3:15 AM, Esteban Lorenzano wrote:

 Hi,

 Today I was bored and not wanting to think too much... but I wanted to do 
 something for Pharo... and I never liked the current Pharo icons, so I took 
 one icon library I really like and changed all needed icons (well... all 
 that I saw).
 Here a couple of screen shots:

 Captura de pantalla 2011-12-10 a la(s) 23.05.55.png
 Captura de pantalla 2011-12-10 a la(s) 23.06.20.png

 Of course, I don't think they are perfect (also maybe I didn't pick the 
 best icons), but I think they look a lot better than the older.

 If you want to see how they look, this are the packages:

 for Pharo 1.3:

 Eclipse-Icons-EstebanLorenzano.2.mcz

 for Pharo 1.4:

 Eclipse-Icons-EstebanLorenzano.4.mcz


 Then you execute:

 ThemeIcons initializeIcons.
 World resetWorldMenu.

 ... and enjoy your new icons :)

 btw... this icons are in an open-source license, the EPL: 
 http://www.eclipse.org/legal/epl-v10.html
 so, maybe –if all agree–, we can add this icons to regular distribution :)

 best,
 Esteban









Re: [Pharo-project] [ANN] Eclipse Icons for Pharo

2011-12-12 Thread Stéphane Ducasse
Sure but we would like to avoid to have more license. I would prefer a 
CreativeCommons license because it is simple to understand
and is not related to code.

Stef

On Dec 11, 2011, at 4:45 PM, Ben Coman wrote:

 
 The EPL does not seem the same show stopper as the GPL since the Eclipse 
 License and FAQ indicate it is not viral like the GPL.  There is no 
 requirement that an EPL licensed program combined with a non-EPL licensed 
 program requires the combination to be licensed under the EPL as a whole.  In 
 fact it is designed to allow distribution of closed source commercial 
 applications based on it while keeping the common base open source. 
 
 FAQ#17 actually says: When incorporating a portion of a Program licensed 
 under the EPL into my own proprietary product distributed in object code 
 form, can I use a single license for the full product, in other words, 
 covering the portion of the Program plus my own code? Answer: Yes. The object 
 code for the product may be distributed under a single license as long as it 
 references the EPL portion and complies, for that portion, with the terms of 
 the EPL.
 
 Complying with the terms effectively be satisfied by:
 1. sources be available just for the icons
 2. Disclaiming warranty and liability - which the MIT already does
 3. Assumedly no patent issues arising from inclusion of icons.
 
 
 Stéphane Ducasse wrote:
 I'm not sure that I would like to carry the Eclipse License around in Pharo 
 :)
 
 
 On Dec 11, 2011, at 3:15 AM, Esteban Lorenzano wrote:
   
 
 Hi, 
 
 Today I was bored and not wanting to think too much... but I wanted to do 
 something for Pharo... and I never liked the current Pharo icons, so I took 
 one icon library I really like and changed all needed icons (well... all 
 that I saw). 
 Here a couple of screen shots: 
 
 Captura de pantalla 2011-12-10 a la(s) 23.05.55.png
 Captura de pantalla 2011-12-10 a la(s) 23.06.20.png
 
 Of course, I don't think they are perfect (also maybe I didn't pick the 
 best icons), but I think they look a lot better than the older.
 
 If you want to see how they look, this are the packages: 
 
 for Pharo 1.3: 
 
 Eclipse-Icons-EstebanLorenzano.2.mcz
 
 for Pharo 1.4:
 
 Eclipse-Icons-EstebanLorenzano.4.mcz
 
 
 Then you execute: 
 
 ThemeIcons initializeIcons. 
 World resetWorldMenu.
 
 ... and enjoy your new icons :)
 
 btw... this icons are in an open-source license, the EPL: 
 http://www.eclipse.org/legal/epl-v10.html
 
 so, maybe –if all agree–, we can add this icons to regular distribution :)
 
 best,
 Esteban
 
 
 
 
 
 
   
 
 




Re: [Pharo-project] Latest Zinc in Pharo 1.3 with MetacelloConfiguration

2011-12-12 Thread Sven Van Caekenberghe
François,

On 12 Dec 2011, at 05:51, Francois Stephany wrote:

 But I'd like to do that with a MetacelloConfiguration. May I add a version 14 
 in the ConfigurationOfZincHTTPComponents?
 
 Can I use the latest versions of each package ? Or are there some 'stable' 
 versions I should use ?
 
 There are two ConfigurationOfZincHTTPComponents: one in the Zn repository and 
 one in the MetacelloRepository. Which one should I update? Why is there two 
 different place to find it?
 
 Cheers,
 
 Francois

It would be great if you could update both to the latest versions of all 
packages.

Merci beaucoup!

Sven




[Pharo-project] IdentitySet but using #hash rather than #identityHash ?

2011-12-12 Thread Mariano Martinez Peck
Hi guys. I hope this is not a very stupid question. Background: in Fuel we
have a IdentityDictionary where we put each of the objects we find while
traversing the graph. We need to use IdentitySet because we cannot have
repetitions (and to avoid loops) so we NEED to use #==. In such dictionary
we put ALL objects of the graph, so it can be very big. Since IdentitySet
uses #identityHash, it means it will be using those ONLY 12 bits in the
object header. It means that we have 2^12 = 4096  different values.

Question:  having explained the previous, I wanted to be able to use #hash
rather than #identityHash since several classes implement #hash and hence I
thought that using #hash I could have less colisions and hence a better
performance. I tried to make a subclass of IdentitySet that uses #hash
rather than #identityHash but my image freezes. I also tried something like:

set := PluggableSet new.
set hashBlock: [ :elem | elem hash ].
set equalBlock: [ :a :b | a == b ].

But it doesn't work either. I works with simple tests in a workspace but
when I run the full tests of Fuel, it enters in a loop in the method #hash
of Collection..

Anyway, my question is, should that work? if not, what is the exact reason?

Thanks in advance,

-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-project] Cleaning up SmartRefStream use

2011-12-12 Thread Martin Dias
On Sun, Dec 11, 2011 at 12:54 PM, Mariano Martinez Peck 
marianop...@gmail.com wrote:



 On Sun, Dec 11, 2011 at 4:35 PM, Stéphane Ducasse 
 stephane.duca...@inria.fr wrote:


 On Dec 11, 2011, at 4:26 PM, Mariano Martinez Peck wrote:

 
 
  On Sun, Dec 11, 2011 at 11:32 AM, Stéphane Ducasse 
 stephane.duca...@inria.fr wrote:
  Indeed this is fun I was doing the same :)
  Now I do not understand why some parts of the system uses dataStream,
 others ReferenceStream and finally others SmartRefStream
  why not all of them use SmartRefStream.
 
  It is not that I like these guys, but their class comments are pretty
 clear:
  - DataStream does NOT handle cycles, but hence it may be faster in
 certain scenarios. I guess that for example, Monticello is sure that in its
 definitions, there cannot be cycles.  In addition, it doesn't take into
 account variables names/order and hence class reshape isn't supported.
  - ReferenceStream supports cycles but still doesn't support class
 reshape.
  - SmartRefStream supports cycles and class reshape.
 
 sounds good


 Yes it does. In fact, I would love also to have those things
 optional/configurable in Fuel: optional cycle detection and optional class
 reshape support :)


But I don't see any performance cost on class reshape support, do you?




 then we should be able to replace all the reference stream and smart by
 fuel.


 Yes, but Fuel is not completly ready to fully replace them. There are some
 hooks they provide that Fuel does not yet. But we will get there at some
 point.



 stef




 --
 Mariano
 http://marianopeck.wordpress.com




Re: [Pharo-project] Cleaning up SmartRefStream use

2011-12-12 Thread Schwab,Wilhelm K
When I last looked at SmartReferenceStream, it did two things that were bad:

(1) it essentially assumed all users are in fact programmers, have access to 
the debugger, and (more presumptuous) know what to to with same.  There are 
times when yelling it's broken is about all the system should dare do.  SRS 
made no such distinction.  Again, the age of the code is showing.  We have 
exception handling now, and should design with it in mind.

(2) reshape code was placed in SRS itself, not in the class that is changing 
shape.  The thing that is being deserialized (which is when problems become 
apparent) should be in charge of the change.  It simplifies both packaging 
(fewer loose methods to consider, and reduced opportunity for name collisions) 
and it also helps with using proxies for special circumstances.





From: pharo-project-boun...@lists.gforge.inria.fr 
[pharo-project-boun...@lists.gforge.inria.fr] on behalf of Mariano Martinez 
Peck [marianop...@gmail.com]
Sent: Sunday, December 11, 2011 10:54 AM
To: Pharo-project@lists.gforge.inria.fr
Subject: Re: [Pharo-project] Cleaning up SmartRefStream use



On Sun, Dec 11, 2011 at 4:35 PM, Stéphane Ducasse 
stephane.duca...@inria.frmailto:stephane.duca...@inria.fr wrote:

On Dec 11, 2011, at 4:26 PM, Mariano Martinez Peck wrote:



 On Sun, Dec 11, 2011 at 11:32 AM, Stéphane Ducasse 
 stephane.duca...@inria.frmailto:stephane.duca...@inria.fr wrote:
 Indeed this is fun I was doing the same :)
 Now I do not understand why some parts of the system uses dataStream, others 
 ReferenceStream and finally others SmartRefStream
 why not all of them use SmartRefStream.

 It is not that I like these guys, but their class comments are pretty clear:
 - DataStream does NOT handle cycles, but hence it may be faster in certain 
 scenarios. I guess that for example, Monticello is sure that in its 
 definitions, there cannot be cycles.  In addition, it doesn't take into 
 account variables names/order and hence class reshape isn't supported.
 - ReferenceStream supports cycles but still doesn't support class reshape.
 - SmartRefStream supports cycles and class reshape.

sounds good

Yes it does. In fact, I would love also to have those things 
optional/configurable in Fuel: optional cycle detection and optional class 
reshape support :)

then we should be able to replace all the reference stream and smart by fuel.

Yes, but Fuel is not completly ready to fully replace them. There are some 
hooks they provide that Fuel does not yet. But we will get there at some point.


stef



--
Mariano
http://marianopeck.wordpress.com



Re: [Pharo-project] [Pharo-users] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Stéphane Ducasse
Janko, stephane and others

We need your inputs to build a structure to answer these questions. 
So what would help you to make your clients feel more confident?
Again I repeat it (and I know that you know): we are really interested in 
making business grows around pharo.

so do you think that the consortium could have a list of 
companies offering services?
freelancers?
…
The consortium should help you.

Stef






Re: [Pharo-project] IdentitySet but using #hash rather than #identityHash ?

2011-12-12 Thread Levente Uzonyi

On Mon, 12 Dec 2011, Mariano Martinez Peck wrote:


Hi guys. I hope this is not a very stupid question. Background: in Fuel we
have a IdentityDictionary where we put each of the objects we find while
traversing the graph. We need to use IdentitySet because we cannot have
repetitions (and to avoid loops) so we NEED to use #==. In such dictionary
we put ALL objects of the graph, so it can be very big. Since IdentitySet
uses #identityHash, it means it will be using those ONLY 12 bits in the
object header. It means that we have 2^12 = 4096  different values.

Question:  having explained the previous, I wanted to be able to use #hash
rather than #identityHash since several classes implement #hash and hence I
thought that using #hash I could have less colisions and hence a better
performance. I tried to make a subclass of IdentitySet that uses #hash
rather than #identityHash but my image freezes. I also tried something like:

set := PluggableSet new.
   set hashBlock: [ :elem | elem hash ].
   set equalBlock: [ :a :b | a == b ].

But it doesn't work either. I works with simple tests in a workspace but
when I run the full tests of Fuel, it enters in a loop in the method #hash
of Collection..

Anyway, my question is, should that work? if not, what is the exact reason?


If the serialized objects remain unchanged, then it can work. You can also 
give another IdentitySet implementation a try, e.g.:

http://leves.web.elte.hu/squeak/LargeIdentitySet.st .


Levente



Thanks in advance,

--
Mariano
http://marianopeck.wordpress.com





Re: [Pharo-project] [Pharo-users] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Sven Van Caekenberghe

On 12 Dec 2011, at 11:28, Stéphane Ducasse wrote:

 We need your inputs to build a structure to answer these questions. 
 So what would help you to make your clients feel more confident?
 Again I repeat it (and I know that you know): we are really interested in 
 making business grows around pharo.
 
 so do you think that the consortium could have a list of 
   companies offering services?
   freelancers?
   …
 The consortium should help you.

Having an active community where many people participate in making Pharo better 
all the time is the best reference.

It is also important that success stories, even small ones, are shared.

Having a public list of available consultancy resources would be good, yes.

But I guess that half the people on these lists are available for remotely 
delivered services in one form or another ;-)

Although it is important that the community keeps on growing, we reached 
critical mass a long time ago, IMHO.

Sven


[Pharo-project] Citezen

2011-12-12 Thread Alexandre Bergel
Hi!

Apparently, Citezen does not parse scg.bib (http://scg.unibe.ch/scgbib). The 
following expression raises an error: CZBibParser parse: (FileStream fileNamed: 
'/Users/alexandrebergel/Workspace/scgbib/scg.bib') contents

Is there something obvious I missed?

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








Re: [Pharo-project] Do we need the URI Package?

2011-12-12 Thread Frank Shearar
On 11 December 2011 16:51, Sven Van Caekenberghe s...@beta9.be wrote:

 On 11 Dec 2011, at 11:38, Marcus Denker wrote:

 Hi,

 There are three packages concerned with URLs:

       - ZnUrl in Zinc
       - Network-URI
       - Network-Url

 URI was a package from Impara that was used extensively in all Impara 
 products and Sophie... back than,
 the idea was to integrate Impara infrastructure in Squeak, but that did not 
 happen due to politics...

 Network-URI seems to be used nowhere in the system, so I guess we can remove 
 it? Or is anyone using it?

 ZnUrl started as a copy of Seaside's WAUrl. From the class comment:

  I am ZnUrl, an implementation of an interpreted HTTP(S) URL/URI.
  Contrary to other implementations, this one is specific for HTTP(S).

 In other words, it might not be general enough, although I think it is better 
 in its domain.
 Covering all possible URI/URL types over all kinds of applications is not 
 simple.

Indeed - Squeak's Network-URI supports things like mailto: schemes,
and there's a registration mechanism for arbitrary URIs (like SIP
URIs). I can't imagine that Pharo's Network-URI has diverged very far
from Squeak's?

frank

 Yes, we need to simplify this, but it is a lot of work. Maybe we could have a 
 look at what other libraries do.

 Sven



Re: [Pharo-project] [Pharo-users] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Stéphane Ducasse

On Dec 12, 2011, at 11:45 AM, Sven Van Caekenberghe wrote:

 
 On 12 Dec 2011, at 11:28, Stéphane Ducasse wrote:
 
 We need your inputs to build a structure to answer these questions. 
 So what would help you to make your clients feel more confident?
 Again I repeat it (and I know that you know): we are really interested in 
 making business grows around pharo.
 
 so do you think that the consortium could have a list of 
  companies offering services?
  freelancers?
  …
 The consortium should help you.
 
 Having an active community where many people participate in making Pharo 
 better all the time is the best reference.
 
 It is also important that success stories, even small ones, are shared.
 
 Having a public list of available consultancy resources would be good, yes.
 
 But I guess that half the people on these lists are available for remotely 
 delivered services in one form or another ;-)
 
 Although it is important that the community keeps on growing, we reached 
 critical mass a long time ago, IMHO.

:)
Yes but I would like to structure that point :)

 
 Sven




Re: [Pharo-project] Citezen

2011-12-12 Thread Stéphane Ducasse
did you try to find the ugly entries that break it
because I can parse all rmod.bib.

Stef

On Dec 12, 2011, at 12:26 PM, Alexandre Bergel wrote:

 Hi!
 
 Apparently, Citezen does not parse scg.bib (http://scg.unibe.ch/scgbib). The 
 following expression raises an error: CZBibParser parse: (FileStream 
 fileNamed: '/Users/alexandrebergel/Workspace/scgbib/scg.bib') contents
 
 Is there something obvious I missed?
 
 Cheers,
 Alexandre
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 




Re: [Pharo-project] Do we need the URI Package?

2011-12-12 Thread Marcus Denker

On Dec 12, 2011, at 12:32 PM, Frank Shearar wrote:
 
 
 Indeed - Squeak's Network-URI supports things like mailto: schemes,
 and there's a registration mechanism for arbitrary URIs (like SIP
 URIs). I can't imagine that Pharo's Network-URI has diverged very far
 from Squeak's?


No, we did no change anything since I added URI to Squeak 3.8 or 3.9...

Marcus


--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] Citezen

2011-12-12 Thread Alexandre Bergel
Not yet. Smacc does not tell where the error happen. 

Cheers,
Alexandre


On 12 Dec 2011, at 08:42, Stéphane Ducasse wrote:

 did you try to find the ugly entries that break it
 because I can parse all rmod.bib.
 
 Stef
 
 On Dec 12, 2011, at 12:26 PM, Alexandre Bergel wrote:
 
 Hi!
 
 Apparently, Citezen does not parse scg.bib (http://scg.unibe.ch/scgbib). The 
 following expression raises an error: CZBibParser parse: (FileStream 
 fileNamed: '/Users/alexandrebergel/Workspace/scgbib/scg.bib') contents
 
 Is there something obvious I missed?
 
 Cheers,
 Alexandre
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 
 
 

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








Re: [Pharo-project] IdentitySet but using #hash rather than #identityHash ?

2011-12-12 Thread Levente Uzonyi

On Mon, 12 Dec 2011, Levente Uzonyi wrote:


On Mon, 12 Dec 2011, Mariano Martinez Peck wrote:


Hi guys. I hope this is not a very stupid question. Background: in Fuel we
have a IdentityDictionary where we put each of the objects we find while
traversing the graph. We need to use IdentitySet because we cannot have
repetitions (and to avoid loops) so we NEED to use #==. In such dictionary
we put ALL objects of the graph, so it can be very big. Since IdentitySet
uses #identityHash, it means it will be using those ONLY 12 bits in the
object header. It means that we have 2^12 = 4096  different values.

Question:  having explained the previous, I wanted to be able to use #hash
rather than #identityHash since several classes implement #hash and hence I
thought that using #hash I could have less colisions and hence a better
performance. I tried to make a subclass of IdentitySet that uses #hash
rather than #identityHash but my image freezes. I also tried something 
like:


set := PluggableSet new.
   set hashBlock: [ :elem | elem hash ].
   set equalBlock: [ :a :b | a == b ].

But it doesn't work either. I works with simple tests in a workspace but
when I run the full tests of Fuel, it enters in a loop in the method #hash
of Collection..

Anyway, my question is, should that work? if not, what is the exact reason?


If the serialized objects remain unchanged, then it can work. You can also 
give another IdentitySet implementation a try, e.g.:

http://leves.web.elte.hu/squeak/LargeIdentitySet.st .


You can also take a look at SystemTracer, because (IIRC) it uses an 
IdentitySet which will contain all objects at a point, and it's reasonably 
fast. IIRC the idea is to use the identityHash of the object mixed with 
the hash of its class to increase the number of bits in the key.



Levente




Levente



Thanks in advance,

--
Mariano
http://marianopeck.wordpress.com








Re: [Pharo-project] IdentitySet but using #hash rather than #identityHash ?

2011-12-12 Thread Carlo
Hi

Wouldn't the fact that you use hash cause potential loops now? e.g. collection 
refers to another object that refers to first collection. -- aCollectionhash 
references an item which causes this current collection's hash to be called 
again?

identityHash is deterministic in this case.

Does this help?
Cheers
Carlo

On 12 Dec 2011, at 10:58 AM, Mariano Martinez Peck wrote:

Hi guys. I hope this is not a very stupid question. Background: in Fuel we have 
a IdentityDictionary where we put each of the objects we find while traversing 
the graph. We need to use IdentitySet because we cannot have repetitions (and 
to avoid loops) so we NEED to use #==. In such dictionary we put ALL objects of 
the graph, so it can be very big. Since IdentitySet uses #identityHash, it 
means it will be using those ONLY 12 bits in the object header. It means that 
we have 2^12 = 4096  different values.  

Question:  having explained the previous, I wanted to be able to use #hash 
rather than #identityHash since several classes implement #hash and hence I 
thought that using #hash I could have less colisions and hence a better 
performance. I tried to make a subclass of IdentitySet that uses #hash rather 
than #identityHash but my image freezes. I also tried something like:

set := PluggableSet new.
set hashBlock: [ :elem | elem hash ].
set equalBlock: [ :a :b | a == b ].

But it doesn't work either. I works with simple tests in a workspace but when I 
run the full tests of Fuel, it enters in a loop in the method #hash of 
Collection..

Anyway, my question is, should that work? if not, what is the exact reason?

Thanks in advance,

-- 
Mariano
http://marianopeck.wordpress.com




Re: [Pharo-project] Waiting for deferred UI messages

2011-12-12 Thread Gary Chambers

This will get stuck if running in the UI process itself...

Regards, Gary

- Original Message - 
From: Sean P. DeNigris s...@clipperadams.com

To: pharo-project@lists.gforge.inria.fr
Sent: Saturday, December 10, 2011 7:38 AM
Subject: [Pharo-project] Waiting for deferred UI messages



testSimulateRightClick

| workspace menu sem |
workspace := Workspace open.
[ morph := World submorphThat: [ :m | m model == workspace ] ifNone: [ nil
].
(Delay forMilliseconds: 100) wait.
morph isNil ] whileTrue.

WorldState addDeferredUIMessage: [ morph simulateRightClick ].


[ execution gets stuck in this loop
menu := World submorphThat: [:m | m isKindOf: MenuMorph ] ifNone: [ nil ].
(Delay forMilliseconds: 100) wait.
menu isNil ] whileTrue.
self assert: menu isNil not.
menu delete.

When running from OB, the above deferred message block never gets 
evaluated.

Execution loops forever in the last block. I thought that the delay would
give the UI an opportunity to process it. How do I modify this to work?

Thanks.
Sean

--
View this message in context: 
http://forum.world.st/Waiting-for-deferred-UI-messages-tp4179541p4179541.html

Sent from the Pharo Smalltalk mailing list archive at Nabble.com.






Re: [Pharo-project] [Pharo-users] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Diogenes Moreira
Well, i'll write my answer in english and spanish (Mariano and Esteban,
please help if in my translate loose some think).


English

At least for my experience in other technologies management, (My Smalltalks
clients are small companies, and save in any think they can), the client
feel more comfortable if pait to support to a third person.
That is, for much as a small payment, and answers them one person at a call
center, which has no idea what the answer and just follow the guide for
questions and answers such as Is the power machine on? not matter, they
feel more comfortable.
Especially when you go to the production stage. In 90% of the cases,
calling the provider of the solution to any problem, but they feelmore
secure if you have Oracle, Microsofts, Etc.  support
If you see as the business model of Gemstone Currently, only
the Enterprise license is paid.
In this sense, I think it would be very important to have a figure
as official support and a supported release, is something like RedHator
PostgreSQL. If the goal is to grow in space Pharo Enterprise.

On the other hand, I agree there is an active community, it is almost
meaningless, but keep in mind that many cases those who manage a technology
area, don't know technology, and need a comfort zone and someone to call at
a crisis

With regard to structure, I think that those who agreed to join
the Consortum have to have a role, I guess the first line (the most common
questions) should be results from a list. After X time, for example 48
hours, or whatever you define.
The case must be taken by one of the engineers. All you have to keep in
mind that contact with the subscriber, should be one and only, not to
make noise.

Best

Spanish.

Por lo menos durante mi experiencia de gestión en otros tecnología, (Los
clientes que tengo en smalltalk, son PyMes y ahorran en todo lo que pueden
), el cliente se siente mas cómodo si paga  a un tercero, para soporte.
Es decir, por mas que sea un canon chico, y lo atiende una persona en un
call center, que no tiene idea de lo que esta contestando y solo sigue
una guía de preguntas y respuestas tal como, Tiene encendida la maquina,
no importa, se sienten mas comodos.
Sobre todo cuando pasan a la etapa de producción, en el 90% de los casos,
terminan llamando al proveedor de la solución, pero se sienten mas seguros,
si tiene el soporte de Oracle, Microsofts, Etc.
Si ven como esta armando el negocio de Gemstone Actualmente, solo la
licencia de uso Enterprise tiene precio.
En este sentido creo que sería muy importante que exista una figura de
soporte oficial y un release soportado, algo así como tiene RedHat o
PostgreSql. Si el objetivo es hacer crecer Pharo en el espacio Enterprise.

Por otra parte estoy de acuerdo existiendo una comunidad activa, esto casi
carece de sentido, pero tengan en cuenta que muchos casos los
que gestionan un área de tecnología, no conocen de ella y necesitan
una área de comodidad y alguien a quien llamar ante una crisis.

Con respecto a la estructura para esto, creo que aquellos que aceptamos
formar parte del Consortum tenemos que tener un rol,  supongo que una
primera linea (las preguntas más comunes) deberá ser resulta por una lista
y pasado X tiempo, por ejemplo 48 horas, o lo que se defina.
El caso deberá ser tomado por alguno de los ingenieros. Lo único que habría
que tener en cuenta que el contacto con el suscriptor, debería ser uno y
solo, para no hacer lios.

Saludos


http://about.me/diogenes.moreira


2011/12/12 Stéphane Ducasse stephane.duca...@inria.fr


 On Dec 12, 2011, at 11:45 AM, Sven Van Caekenberghe wrote:

 
  On 12 Dec 2011, at 11:28, Stéphane Ducasse wrote:
 
  We need your inputs to build a structure to answer these questions.
  So what would help you to make your clients feel more confident?
  Again I repeat it (and I know that you know): we are really interested
 in making business grows around pharo.
 
  so do you think that the consortium could have a list of
   companies offering services?
   freelancers?
   …
  The consortium should help you.
 
  Having an active community where many people participate in making Pharo
 better all the time is the best reference.
 
  It is also important that success stories, even small ones, are shared.
 
  Having a public list of available consultancy resources would be good,
 yes.
 
  But I guess that half the people on these lists are available for
 remotely delivered services in one form or another ;-)
 
  Although it is important that the community keeps on growing, we reached
 critical mass a long time ago, IMHO.

 :)
 Yes but I would like to structure that point :)

 
  Sven





[Pharo-project] Pharo research page

2011-12-12 Thread Alexandre Bergel
Dear All,

As you may know, the page http://www.pharo-project.org/about/research lists the 
publications related to Pharo.

If you have a publication related to Pharo and want to see it listed there, 
send me the bibitem.
Example of bibentries are 
http://scg.unibe.ch/scgbib?_k=4LCS3SCqquery=pharo+2011display=bibtex
Having a url field in your bibitem will enable people download your paper.

5 publications are listed for 2011. I am sure we have published more than that 
:-)

Cheers,
Alexandre

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








Re: [Pharo-project] Citezen

2011-12-12 Thread Schwab,Wilhelm K
FWIW, my most common source of unparsable entries is Google Scholar.  The 
problems arise when a name contains non-ascii characters.  The author name in 
the entry will have correct syntax (and works fine), but name assigned to the 
entry as a whole will be invalid.  Replacing the accented character(s) with the 
nearest ascii equivalent works.



From: pharo-project-boun...@lists.gforge.inria.fr 
[pharo-project-boun...@lists.gforge.inria.fr] on behalf of Alexandre Bergel 
[alexandre.ber...@me.com]
Sent: Monday, December 12, 2011 7:26 AM
To: Pharo-project@lists.gforge.inria.fr
Subject: Re: [Pharo-project] Citezen

Not yet. Smacc does not tell where the error happen.

Cheers,
Alexandre


On 12 Dec 2011, at 08:42, Stéphane Ducasse wrote:

 did you try to find the ugly entries that break it
 because I can parse all rmod.bib.

 Stef

 On Dec 12, 2011, at 12:26 PM, Alexandre Bergel wrote:

 Hi!

 Apparently, Citezen does not parse scg.bib (http://scg.unibe.ch/scgbib). The 
 following expression raises an error: CZBibParser parse: (FileStream 
 fileNamed: '/Users/alexandrebergel/Workspace/scgbib/scg.bib') contents

 Is there something obvious I missed?

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









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









Re: [Pharo-project] [Pharo-users] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Stéphane Ducasse
Thanks diogenes.


First we should 
- get a consortium
- a list of possible freelancers
- pay an engineer and see.

Stef
On Dec 12, 2011, at 2:01 PM, Diogenes Moreira wrote:

 Well, i'll write my answer in english and spanish (Mariano and Esteban, 
 please help if in my translate loose some think).
 
 
 English
 
 At least for my experience in other technologies management, (My Smalltalks 
 clients are small companies, and save in any think they can), the client feel 
 more comfortable if pait to support to a third person.
 That is, for much as a small payment, and answers them one person at a call 
 center, which has no idea what the answer and just follow the guide for 
 questions and answers such as Is the power machine on? not matter, they 
 feel more comfortable.
 Especially when you go to the production stage. In 90% of the cases, calling 
 the provider of the solution to any problem, but they feelmore secure if you 
 have Oracle, Microsofts, Etc.  support
 If you see as the business model of Gemstone Currently, only the Enterprise 
 license is paid.
 In this sense, I think it would be very important to have a figure as 
 official support and a supported release, is something like RedHator 
 PostgreSQL. If the goal is to grow in space Pharo Enterprise.
 
 On the other hand, I agree there is an active community, it is almost 
 meaningless, but keep in mind that many cases those who manage a technology 
 area, don't know technology, and need a comfort zone and someone to call at a 
 crisis
 
 With regard to structure, I think that those who agreed to join the Consortum 
 have to have a role, I guess the first line (the most common questions) 
 should be results from a list. After X time, for example 48 hours, or 
 whatever you define.
 The case must be taken by one of the engineers. All you have to keep in mind 
 that contact with the subscriber, should be one and only, not to make noise.
 
 Best
 
 Spanish.
 
 Por lo menos durante mi experiencia de gestión en otros tecnología, (Los 
 clientes que tengo en smalltalk, son PyMes y ahorran en todo lo que pueden ), 
 el cliente se siente mas cómodo si paga  a un tercero, para soporte.
 Es decir, por mas que sea un canon chico, y lo atiende una persona en un call 
 center, que no tiene idea de lo que esta contestando y solo sigue una guía de 
 preguntas y respuestas tal como, Tiene encendida la maquina, no importa, se 
 sienten mas comodos.
 Sobre todo cuando pasan a la etapa de producción, en el 90% de los casos, 
 terminan llamando al proveedor de la solución, pero se sienten mas seguros, 
 si tiene el soporte de Oracle, Microsofts, Etc. 
 Si ven como esta armando el negocio de Gemstone Actualmente, solo la licencia 
 de uso Enterprise tiene precio.
 En este sentido creo que sería muy importante que exista una figura de 
 soporte oficial y un release soportado, algo así como tiene RedHat o 
 PostgreSql. Si el objetivo es hacer crecer Pharo en el espacio Enterprise.
 
 Por otra parte estoy de acuerdo existiendo una comunidad activa, esto casi 
 carece de sentido, pero tengan en cuenta que muchos casos los que gestionan 
 un área de tecnología, no conocen de ella y necesitan una área de comodidad y 
 alguien a quien llamar ante una crisis.
 
 Con respecto a la estructura para esto, creo que aquellos que aceptamos 
 formar parte del Consortum tenemos que tener un rol,  supongo que una primera 
 linea (las preguntas más comunes) deberá ser resulta por una lista y pasado X 
 tiempo, por ejemplo 48 horas, o lo que se defina.
 El caso deberá ser tomado por alguno de los ingenieros. Lo único que habría 
 que tener en cuenta que el contacto con el suscriptor, debería ser uno y 
 solo, para no hacer lios.
 
 Saludos
 
 
 http://about.me/diogenes.moreira
 
 
 2011/12/12 Stéphane Ducasse stephane.duca...@inria.fr
 
 On Dec 12, 2011, at 11:45 AM, Sven Van Caekenberghe wrote:
 
 
  On 12 Dec 2011, at 11:28, Stéphane Ducasse wrote:
 
  We need your inputs to build a structure to answer these questions.
  So what would help you to make your clients feel more confident?
  Again I repeat it (and I know that you know): we are really interested in 
  making business grows around pharo.
 
  so do you think that the consortium could have a list of
   companies offering services?
   freelancers?
   …
  The consortium should help you.
 
  Having an active community where many people participate in making Pharo 
  better all the time is the best reference.
 
  It is also important that success stories, even small ones, are shared.
 
  Having a public list of available consultancy resources would be good, yes.
 
  But I guess that half the people on these lists are available for remotely 
  delivered services in one form or another ;-)
 
  Although it is important that the community keeps on growing, we reached 
  critical mass a long time ago, IMHO.
 
 :)
 Yes but I would like to structure that point :)
 
 
  Sven
 
 
 




Re: [Pharo-project] Pharo research page

2011-12-12 Thread Stéphane Ducasse
Ok I will tag all our publications using pharo with pharo and I send you that.

Stef

On Dec 12, 2011, at 2:13 PM, Alexandre Bergel wrote:

 Dear All,
 
 As you may know, the page http://www.pharo-project.org/about/research lists 
 the publications related to Pharo.
 
 If you have a publication related to Pharo and want to see it listed there, 
 send me the bibitem.
 Example of bibentries are 
 http://scg.unibe.ch/scgbib?_k=4LCS3SCqquery=pharo+2011display=bibtex
 Having a url field in your bibitem will enable people download your paper.
 
 5 publications are listed for 2011. I am sure we have published more than 
 that :-)
 
 Cheers,
 Alexandre
 
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 




Re: [Pharo-project] Citezen

2011-12-12 Thread Stéphane Ducasse
check the stream?

Stef

On Dec 12, 2011, at 1:26 PM, Alexandre Bergel wrote:

 Not yet. Smacc does not tell where the error happen. 
 
 Cheers,




Re: [Pharo-project] [squeak-dev] new VMs available at...

2011-12-12 Thread Levente Uzonyi

On Thu, 1 Dec 2011, Eliot Miranda wrote:


http://www.mirandabanda.org/files/Cog/VM/VM.r2519

Change the VM argument access back to be consistent with linux:

CogVM binaries as per VMMaker.oscog-eem.139/r2519.

0 = executable name -1 .. -n = VM arguments *including* image (if
explicitly supplied). Provide standard i/o console access on Windows.


I found a bug with the windows version. Croquet.exe doesn't show the file 
dialog for selecting the image when executed by double clicking its icon, 
instead it shows the usage information, then quits.



Levente



--
best,
Eliot





Re: [Pharo-project] native boost is the best thing since COGVM

2011-12-12 Thread Tudor Girba
I am almost drooling :)

Doru


On Mon, Dec 12, 2011 at 4:02 PM, Fernando Olivero
fernando.oliv...@usi.ch wrote:
 A taste of what will be available: rendering the same GLabel (the
 gaucho equivalent to StringMorph), scaling the CairoCanvas.

 Pesudo Code:

 create a label
 label := GLabel on : 'hello Pango-Cairo'.

 draw it on the canvas
 label drawOn: canvas.

 scale the canvas
 canvas translateBy: aDelta ; scaleBy: aScale.

 draw it on the canvas
 label drawOn: canvas.

 repeat




 On Sun, Dec 11, 2011 at 7:43 PM, Javier Pimás
 elpochodelage...@gmail.com wrote:
 Cl!!!

 On 12/11/11, Fernando Olivero fernando.oliv...@usi.ch wrote:
 I was able to create the binding to Pango using NB.

 The ultimate goal is to provide a cleaner implementation of text widgets.

 Thanks Igor !

 Fernando



 --
 Lic. Javier Pimás
 Ciudad de Buenos Aires



-- 
www.tudorgirba.com

Every thing has its own flow



Re: [Pharo-project] Citezen

2011-12-12 Thread Oscar Nierstrasz

We are using Citezen-Pier to parse the scgbib on our web site. I'm on the 
Netherlands right now so I cannot check ...

cheers 
on

---
Prof. Dr. O. Nierstrasz-- os...@iam.unibe.ch
Software Composition Group -- http://scg.unibe.ch/oscar
University of Bern -- Tel/Fax +41 31 631.4618/3355


On 12 Dec 2011, at 12:26, Alexandre Bergel alexandre.ber...@me.com wrote:

 Hi!
 
 Apparently, Citezen does not parse scg.bib (http://scg.unibe.ch/scgbib). The 
 following expression raises an error: CZBibParser parse: (FileStream 
 fileNamed: '/Users/alexandrebergel/Workspace/scgbib/scg.bib') contents
 
 Is there something obvious I missed?
 
 Cheers,
 Alexandre
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 



Re: [Pharo-project] [COTDC] 95 - GZipReadStream

2011-12-12 Thread Sean P. DeNigris

Sean P. DeNigris wrote
 
 Today:  GZipReadStream 
 

Dear Santa,

All I want for Christmas is a comment.

Thank you.
GZipReadStream

--
View this message in context: 
http://forum.world.st/COTDC-95-GZipReadStream-tp4180360p4186462.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.



[Pharo-project] Scat - Public Release and announcement

2011-12-12 Thread Bernat Romagosa
Hi list,

Joan Güell and I have been working on Scat -the Scratch port to
Pharo- quite a lot recently. We wanted to push it to a point where we could
release the first reasonably working version, which we've just managed
today.

Please take a look at the release
announcementhttp://code.google.com/p/scat/wiki/PublicRelease (which
should be read in a bit of a humorous tone), in which we explain what's up
with the project and what future is left for it.

For the tl;dr version, please read:

   - Many things are working, many aren't, but the state of the project
   allows us to move into more interesting stuff based on the graphic
   programming metaphor.
   - Scat is a time-consuming, brain-smashing, life sucking-project.
   - We no longer will be maintaining this massive unmaintainable code.
   - Suddenly: free time for other projects!

Cheers everyone!

-- 
Bernat Romagosa.


Re: [Pharo-project] native boost is the best thing since COGVM

2011-12-12 Thread Igor Stasenko
CairoSampleProgramsrectangleAndText
does not works, because it uses a following method:

NBCairoselectFont: aFamily slant: slant weight: aWeight on: aNBCairoContext
primitive: #primitiveNativeCall module: #NativeBoostPlugin
^self call: #(void cairo_select_font_face (NBCairoContext 
aNBCairoContext,
 String aFamily,

cairo_font_slant_t slant,

cairo_font_weight_t aWeight) )


and during code generation it barks that it unable to resolve
'cairo_font_slant_t'  type.
Because NBCairo class does not includes a corresponding shared pool
(NBCairoTypes).

Also, Fernando, i don't like that you put everything into a single
class (NBCairo).
This is wrong, not object-oriented. The original organization made by
Javier was much more closer to my tastes.

This approach to wrapping a library is too mechanical. It is much
better to place calls at proper place(s) in proper classes,
rather than putting everything into a single one. Which means that in
this way you are at least 1 message send farther from
real function call.
But in your case its not even that..

NBCairoPatternstatus
^ self cairo patternStatusOf: self

cairo
^ NBCairo default

so , it is 2 extra message sends, instead of direct call to foreign function!


-- 
Best regards,
Igor Stasenko.



Re: [Pharo-project] native boost is the best thing since COGVM

2011-12-12 Thread Fernando Olivero
ok, i see your point. I will refactor back to Javier's approach.
My rationale was to reify the Cairo library as it is, luckily all the
other examples work.

If i add the shared pool NBCairoTypes to the NBCairo then NativeBoost
automatically associates the type? Because i've been putting directly
int. Would be nice to have a couple of examples of NB (whenever the
time is enough for you guys, i know you are busy)

thanks for the feedback,
Fernando



On Mon, Dec 12, 2011 at 5:05 PM, Igor Stasenko siguc...@gmail.com wrote:
 CairoSampleProgramsrectangleAndText
 does not works, because it uses a following method:

 NBCairoselectFont: aFamily slant: slant weight: aWeight on: aNBCairoContext
        primitive: #primitiveNativeCall module: #NativeBoostPlugin
        ^self call: #(void cairo_select_font_face (NBCairoContext 
 aNBCairoContext,
                                                         String aFamily,

 cairo_font_slant_t slant,

 cairo_font_weight_t aWeight) )


 and during code generation it barks that it unable to resolve
 'cairo_font_slant_t'  type.
 Because NBCairo class does not includes a corresponding shared pool
 (NBCairoTypes).

 Also, Fernando, i don't like that you put everything into a single
 class (NBCairo).
 This is wrong, not object-oriented. The original organization made by
 Javier was much more closer to my tastes.

 This approach to wrapping a library is too mechanical. It is much
 better to place calls at proper place(s) in proper classes,
 rather than putting everything into a single one. Which means that in
 this way you are at least 1 message send farther from
 real function call.
 But in your case its not even that..

 NBCairoPatternstatus
        ^ self cairo patternStatusOf: self

 cairo
        ^ NBCairo default

 so , it is 2 extra message sends, instead of direct call to foreign function!


 --
 Best regards,
 Igor Stasenko.




Re: [Pharo-project] Waiting for deferred UI messages

2011-12-12 Thread Sean P. DeNigris

Gary Chambers-4 wrote
 
 This will get stuck if running in the UI process itself...
 

Thanks Gary! I actually had a dream about this last night (I obviously need
a vacation or another hobby). I visualized myself flying through the path of
execution and realized exactly that.

--
View this message in context: 
http://forum.world.st/Waiting-for-deferred-UI-messages-tp4179541p4186571.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.



Re: [Pharo-project] native boost is the best thing since COGVM

2011-12-12 Thread Igor Stasenko
On 12 December 2011 17:16, Fernando Olivero fernando.oliv...@usi.ch wrote:
 ok, i see your point. I will refactor back to Javier's approach.
 My rationale was to reify the Cairo library as it is, luckily all the
 other examples work.

Well, it makes sense to do things like that, when you want a fast and
dirty working stuff.
But a good wrapping makes a lot of difference: there is no need to
indicate that you using a library
through 'self cairo' everywhere. It is just an indirection without any benefit.

Wrapper classes and their instances should provide a required
functionality through well defined protocols, and then from user's
standpoint it is really
makes no difference who implements them.
That's why we need Athens.


 If i add the shared pool NBCairoTypes to the NBCairo then NativeBoost
 automatically associates the type? Because i've been putting directly
 int. Would be nice to have a couple of examples of NB (whenever the
 time is enough for you guys, i know you are busy)


Yes, but these examples were written specifically to show how to wrap
a library in object-oriented way  :)
Look at pharo by example book [1], there you can find an explanation
how to use shared pools.
Of course it is far from complete, but my opinion that your
refactoring gives a bad example to future developers.
They should think in terms of objects and place callouts in
corresponding classes with nicely formed protocol(s).

I am looking forward for you to come, so i can explain things more
directly and easier :)

[1] 
https://gforge.inria.fr/scm/viewvc.php/*checkout*/PharoByExampleTwo-Eng/Alien/alien.pdf?root=pharobooks

 thanks for the feedback,
 Fernando



 On Mon, Dec 12, 2011 at 5:05 PM, Igor Stasenko siguc...@gmail.com wrote:
 CairoSampleProgramsrectangleAndText
 does not works, because it uses a following method:

 NBCairoselectFont: aFamily slant: slant weight: aWeight on: aNBCairoContext
        primitive: #primitiveNativeCall module: #NativeBoostPlugin
        ^self call: #(void cairo_select_font_face (NBCairoContext 
 aNBCairoContext,
                                                         String aFamily,

 cairo_font_slant_t slant,

 cairo_font_weight_t aWeight) )


 and during code generation it barks that it unable to resolve
 'cairo_font_slant_t'  type.
 Because NBCairo class does not includes a corresponding shared pool
 (NBCairoTypes).

 Also, Fernando, i don't like that you put everything into a single
 class (NBCairo).
 This is wrong, not object-oriented. The original organization made by
 Javier was much more closer to my tastes.

 This approach to wrapping a library is too mechanical. It is much
 better to place calls at proper place(s) in proper classes,
 rather than putting everything into a single one. Which means that in
 this way you are at least 1 message send farther from
 real function call.
 But in your case its not even that..

 NBCairoPatternstatus
        ^ self cairo patternStatusOf: self

 cairo
        ^ NBCairo default

 so , it is 2 extra message sends, instead of direct call to foreign function!


 --
 Best regards,
 Igor Stasenko.





-- 
Best regards,
Igor Stasenko.



Re: [Pharo-project] [ANN] Eclipse Icons for Pharo

2011-12-12 Thread Stéphane Ducasse
http://www.famfamfam.com/
?



 Hi Fernando,
 
 oops... I forgot your icon importer, sorry :P
 
 I would like –for a future– to integrate it to pharo and replace current 
 ThemeIcons with an icon strategy based on your package... maybe that is the 
 best future scenario for icons. 
 
 best,
 Esteban
 
 El 11/12/2011, a las 8:49a.m., Fernando Olivero escribió:
 
 Hi Esteban, nice work!
 For importing the icons you can use the toolset i've developed: it
 automates completely the process of importing a complete set of icons
 of a given family.
 
 ExternalIconFamily @ squeaksource.
 I've used it for importing the Oxygen icon set, and others (you can
 google the list for previous related emails).
 
 Fernando
 
 On Sun, Dec 11, 2011 at 10:38 AM, Stéphane Ducasse
 stephane.duca...@inria.fr wrote:
 Esteban
 I know that feeling :)
 
 :)
 Now I'm not sure that I would like to carry the Eclipse License around in 
 Pharo :)
 What are the other icons sets we could use with a nice license and we do it 
 :).
 famfam?
 
 We should clean also the old icons because some are really old.
 Thanks for pushing that. I would love to have new icons for Pharo.
 Stef
 
 
 
 On Dec 11, 2011, at 3:15 AM, Esteban Lorenzano wrote:
 
 Hi,
 
 Today I was bored and not wanting to think too much... but I wanted to do 
 something for Pharo... and I never liked the current Pharo icons, so I 
 took one icon library I really like and changed all needed icons (well... 
 all that I saw).
 Here a couple of screen shots:
 
 Captura de pantalla 2011-12-10 a la(s) 23.05.55.png
 Captura de pantalla 2011-12-10 a la(s) 23.06.20.png
 
 Of course, I don't think they are perfect (also maybe I didn't pick the 
 best icons), but I think they look a lot better than the older.
 
 If you want to see how they look, this are the packages:
 
 for Pharo 1.3:
 
 Eclipse-Icons-EstebanLorenzano.2.mcz
 
 for Pharo 1.4:
 
 Eclipse-Icons-EstebanLorenzano.4.mcz
 
 
 Then you execute:
 
 ThemeIcons initializeIcons.
 World resetWorldMenu.
 
 ... and enjoy your new icons :)
 
 btw... this icons are in an open-source license, the EPL: 
 http://www.eclipse.org/legal/epl-v10.html
 so, maybe –if all agree–, we can add this icons to regular distribution :)
 
 best,
 Esteban
 
 
 
 
 
 




Re: [Pharo-project] Scat - Public Release and announcement

2011-12-12 Thread Stéphane Ducasse
Hi bernat

Excellent!
do you have code that we removed and changed that you would like to be in the 
system?

Stef



On Dec 12, 2011, at 4:56 PM, Bernat Romagosa wrote:

 Hi list,
 
 Joan Güell and I have been working on Scat -the Scratch port to Pharo- quite 
 a lot recently. We wanted to push it to a point where we could release the 
 first reasonably working version, which we've just managed today.
 
 Please take a look at the release announcement (which should be read in a bit 
 of a humorous tone), in which we explain what's up with the project and what 
 future is left for it.
 
 For the tl;dr version, please read:
   • Many things are working, many aren't, but the state of the project 
 allows us to move into more interesting stuff based on the graphic 
 programming metaphor.
   • Scat is a time-consuming, brain-smashing, life sucking-project.
   • We no longer will be maintaining this massive unmaintainable code.
   • Suddenly: free time for other projects!
 Cheers everyone!
 
 -- 
 Bernat Romagosa.




Re: [Pharo-project] Morphic Cleanup Status

2011-12-12 Thread Sean P. DeNigris

Fernando olivero-2 wrote
 
 my overall impression , was that we need to stop being backward
 compatible in order to create a simple Morphic-like framework for
 Pharo, and start from scratch

Having worked with all three (Morphic, SimpleMorphic, and your from-scratch
version), what are the tradeoffs with each? Is the complexity of
SimpleMorphic, and more still Morphic, essential [1] or accidental [2]? What
I'm really asking is: do you envision your version to offer similar features
and power as either of the others? I (totally ignorantly) feel like we could
squeeze most of the awesome power of Morphic into a *much* smaller package.
Also, it'd be great to read the original Morphic papers (if you haven't
already) for inspiration to let the intended liveness and directness shine
through in this new project.

This work that you're doing is incredibly important. In the hallways at
every conference, I hear dreams of amazing tools people have in mind (myself
included), which are put on hold due to the mind-boggling complexity and
uncertainty of Morphic and its future.

Let me know when there's anything I can do.
Sean

[1] http://en.wikipedia.org/wiki/Essential_complexity
[2] http://en.wikipedia.org/wiki/Accidental_complexity

--
View this message in context: 
http://forum.world.st/Morphic-Cleanup-Status-tp4106566p4186864.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.



Re: [Pharo-project] Waiting for deferred UI messages

2011-12-12 Thread Stéphane Ducasse
if the symptoms continue you should stop :)
I knew pharo was a strong drug but not at this level :)
Stef

 Thanks Gary! I actually had a dream about this last night (I obviously need
 a vacation or another hobby). I visualized myself flying through the path of
 execution and realized exactly that.
 
 --
 View this message in context: 
 http://forum.world.st/Waiting-for-deferred-UI-messages-tp4179541p4186571.html
 Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
 




Re: [Pharo-project] native boost is the best thing since COGVM

2011-12-12 Thread Stéphane Ducasse
Igor 

what is the link between pango cairo and the work you did on the text model in 
athens?
Because I have the impression that you work on text modeling is important. 

Stef


 A taste of what will be available: rendering the same GLabel (the
 gaucho equivalent to StringMorph), scaling the CairoCanvas.
 
 Pesudo Code:
 
 create a label
 label := GLabel on : 'hello Pango-Cairo'.
 
 draw it on the canvas
 label drawOn: canvas.
 
 scale the canvas
 canvas translateBy: aDelta ; scaleBy: aScale.
 
 draw it on the canvas
 label drawOn: canvas.
 
 repeat



Re: [Pharo-project] native boost is the best thing since COGVM

2011-12-12 Thread Stéphane Ducasse

On Dec 12, 2011, at 5:35 PM, Igor Stasenko wrote:

 On 12 December 2011 17:16, Fernando Olivero fernando.oliv...@usi.ch wrote:
 ok, i see your point. I will refactor back to Javier's approach.
 My rationale was to reify the Cairo library as it is, luckily all the
 other examples work.
 
 Well, it makes sense to do things like that, when you want a fast and
 dirty working stuff.
 But a good wrapping makes a lot of difference: there is no need to
 indicate that you using a library
 through 'self cairo' everywhere. It is just an indirection without any 
 benefit.
 
 Wrapper classes and their instances should provide a required
 functionality through well defined protocols, and then from user's
 standpoint it is really
 makes no difference who implements them.
 That's why we need Athens.

Indeed we do want to have cairo dependencies inside our system
just encapsulated in their respective canvases. 


 If i add the shared pool NBCairoTypes to the NBCairo then NativeBoost
 automatically associates the type? Because i've been putting directly
 int. Would be nice to have a couple of examples of NB (whenever the
 time is enough for you guys, i know you are busy)
 
 
 Yes, but these examples were written specifically to show how to wrap
 a library in object-oriented way  :)
 Look at pharo by example book [1], there you can find an explanation
 how to use shared pools.
 Of course it is far from complete, but my opinion that your
 refactoring gives a bad example to future developers.
 They should think in terms of objects and place callouts in
 corresponding classes with nicely formed protocol(s).
 
 I am looking forward for you to come, so i can explain things more
 directly and easier :)
 
 [1] 
 https://gforge.inria.fr/scm/viewvc.php/*checkout*/PharoByExampleTwo-Eng/Alien/alien.pdf?root=pharobooks
 
 thanks for the feedback,
 Fernando
 
 
 
 On Mon, Dec 12, 2011 at 5:05 PM, Igor Stasenko siguc...@gmail.com wrote:
 CairoSampleProgramsrectangleAndText
 does not works, because it uses a following method:
 
 NBCairoselectFont: aFamily slant: slant weight: aWeight on: 
 aNBCairoContext
primitive: #primitiveNativeCall module: #NativeBoostPlugin
^self call: #(void cairo_select_font_face (NBCairoContext 
 aNBCairoContext,
 String aFamily,
 
 cairo_font_slant_t slant,
 
 cairo_font_weight_t aWeight) )
 
 
 and during code generation it barks that it unable to resolve
 'cairo_font_slant_t'  type.
 Because NBCairo class does not includes a corresponding shared pool
 (NBCairoTypes).
 
 Also, Fernando, i don't like that you put everything into a single
 class (NBCairo).
 This is wrong, not object-oriented. The original organization made by
 Javier was much more closer to my tastes.
 
 This approach to wrapping a library is too mechanical. It is much
 better to place calls at proper place(s) in proper classes,
 rather than putting everything into a single one. Which means that in
 this way you are at least 1 message send farther from
 real function call.
 But in your case its not even that..
 
 NBCairoPatternstatus
^ self cairo patternStatusOf: self
 
 cairo
^ NBCairo default
 
 so , it is 2 extra message sends, instead of direct call to foreign 
 function!
 
 
 --
 Best regards,
 Igor Stasenko.
 
 
 
 
 
 -- 
 Best regards,
 Igor Stasenko.
 




Re: [Pharo-project] [Pharo-users] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Diogenes Moreira
+1 i'm fully agree.
http://about.me/diogenes.moreira



2011/12/12 Stéphane Ducasse stephane.duca...@inria.fr

 Thanks diogenes.


 First we should
- get a consortium
- a list of possible freelancers
- pay an engineer and see.

 Stef
 On Dec 12, 2011, at 2:01 PM, Diogenes Moreira wrote:

  Well, i'll write my answer in english and spanish (Mariano and Esteban,
 please help if in my translate loose some think).
 
 
  English
 
  At least for my experience in other technologies management, (My
 Smalltalks clients are small companies, and save in any think they can),
 the client feel more comfortable if pait to support to a third person.
  That is, for much as a small payment, and answers them one person at a
 call center, which has no idea what the answer and just follow the guide
 for questions and answers such as Is the power machine on? not matter,
 they feel more comfortable.
  Especially when you go to the production stage. In 90% of the cases,
 calling the provider of the solution to any problem, but they feelmore
 secure if you have Oracle, Microsofts, Etc.  support
  If you see as the business model of Gemstone Currently, only the
 Enterprise license is paid.
  In this sense, I think it would be very important to have a figure as
 official support and a supported release, is something like RedHator
 PostgreSQL. If the goal is to grow in space Pharo Enterprise.
 
  On the other hand, I agree there is an active community, it is almost
 meaningless, but keep in mind that many cases those who manage a technology
 area, don't know technology, and need a comfort zone and someone to call at
 a crisis
 
  With regard to structure, I think that those who agreed to join the
 Consortum have to have a role, I guess the first line (the most common
 questions) should be results from a list. After X time, for example 48
 hours, or whatever you define.
  The case must be taken by one of the engineers. All you have to keep in
 mind that contact with the subscriber, should be one and only, not to make
 noise.
 
  Best
 
  Spanish.
 
  Por lo menos durante mi experiencia de gestión en otros tecnología, (Los
 clientes que tengo en smalltalk, son PyMes y ahorran en todo lo que pueden
 ), el cliente se siente mas cómodo si paga  a un tercero, para soporte.
  Es decir, por mas que sea un canon chico, y lo atiende una persona en un
 call center, que no tiene idea de lo que esta contestando y solo sigue una
 guía de preguntas y respuestas tal como, Tiene encendida la maquina, no
 importa, se sienten mas comodos.
  Sobre todo cuando pasan a la etapa de producción, en el 90% de los
 casos, terminan llamando al proveedor de la solución, pero se sienten mas
 seguros, si tiene el soporte de Oracle, Microsofts, Etc.
  Si ven como esta armando el negocio de Gemstone Actualmente, solo la
 licencia de uso Enterprise tiene precio.
  En este sentido creo que sería muy importante que exista una figura de
 soporte oficial y un release soportado, algo así como tiene RedHat o
 PostgreSql. Si el objetivo es hacer crecer Pharo en el espacio Enterprise.
 
  Por otra parte estoy de acuerdo existiendo una comunidad activa, esto
 casi carece de sentido, pero tengan en cuenta que muchos casos los que
 gestionan un área de tecnología, no conocen de ella y necesitan una área de
 comodidad y alguien a quien llamar ante una crisis.
 
  Con respecto a la estructura para esto, creo que aquellos que aceptamos
 formar parte del Consortum tenemos que tener un rol,  supongo que una
 primera linea (las preguntas más comunes) deberá ser resulta por una lista
 y pasado X tiempo, por ejemplo 48 horas, o lo que se defina.
  El caso deberá ser tomado por alguno de los ingenieros. Lo único que
 habría que tener en cuenta que el contacto con el suscriptor, debería ser
 uno y solo, para no hacer lios.
 
  Saludos
 
 
  http://about.me/diogenes.moreira
 
 
  2011/12/12 Stéphane Ducasse stephane.duca...@inria.fr
 
  On Dec 12, 2011, at 11:45 AM, Sven Van Caekenberghe wrote:
 
  
   On 12 Dec 2011, at 11:28, Stéphane Ducasse wrote:
  
   We need your inputs to build a structure to answer these questions.
   So what would help you to make your clients feel more confident?
   Again I repeat it (and I know that you know): we are really
 interested in making business grows around pharo.
  
   so do you think that the consortium could have a list of
companies offering services?
freelancers?
…
   The consortium should help you.
  
   Having an active community where many people participate in making
 Pharo better all the time is the best reference.
  
   It is also important that success stories, even small ones, are shared.
  
   Having a public list of available consultancy resources would be good,
 yes.
  
   But I guess that half the people on these lists are available for
 remotely delivered services in one form or another ;-)
  
   Although it is important that the community keeps on growing, we
 reached critical mass a 

Re: [Pharo-project] [Pharo-users] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Francois Stephany

Thanks Stef!


Again I repeat it (and I know that you know): we are really interested in 
making business grows around pharo.


We know =)


It is also important that success stories, even small ones, are shared.
Having a public list of available consultancy resources would be good, yes.


Yep, that's the two main points for me.


But I guess that half the people on these lists are available for remotely 
delivered services in one form or another ;-)


That's true. And I guess there are many silent observers in the list as 
well. How many people are there on Pharo-Dev and Pharo-Users by the way?



Francois



Re: [Pharo-project] Scat - Public Release and announcement

2011-12-12 Thread Francois Stephany

That's pretty cool!

Spotted in the announcement:


A project we've been longing to start for a while is a music live-coding 
environment based solely on engaging blocks of different kinds, which the 
current working code in Scat should let us build without too much hassle!


Tell us more :)




Re: [Pharo-project] Citezen

2011-12-12 Thread Alexandre Bergel
I haven't checked closely, but it may comes from the bibitem Kort08a:

@incollection{Kort08a,
  author   = {Kortenkamp, David and Simmons, Reid},
  title= {Robotic systems architectures and programming},
  chapter  = {8},
  booktitle= {Springer Handbook of Robotics},
  pages= {187--206},
  address  = {Berlin, Heidelberg},
  publisher= {Springer},
  doi  = {10.1007/978-3-540-30301-5},
  year = {2008},
  keywords = {robotics springer damiencbib},
  isbn = {978-3-540-23957-4}
}
}

Obviously, there is a mismatch of the curly brackets. But both bibtex and make 
test are happy. Strange. Maybe a white character is somewhere between.

Cheers,
Alexandre

On 12 Dec 2011, at 12:50, Oscar Nierstrasz wrote:

 
 We are using Citezen-Pier to parse the scgbib on our web site. I'm on the 
 Netherlands right now so I cannot check ...
 
 cheers 
 on
 
 ---
 Prof. Dr. O. Nierstrasz-- os...@iam.unibe.ch
 Software Composition Group -- http://scg.unibe.ch/oscar
 University of Bern -- Tel/Fax +41 31 631.4618/3355
 
 
 On 12 Dec 2011, at 12:26, Alexandre Bergel alexandre.ber...@me.com wrote:
 
 Hi!
 
 Apparently, Citezen does not parse scg.bib (http://scg.unibe.ch/scgbib). The 
 following expression raises an error: CZBibParser parse: (FileStream 
 fileNamed: '/Users/alexandrebergel/Workspace/scgbib/scg.bib') contents
 
 Is there something obvious I missed?
 
 Cheers,
 Alexandre
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 

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








Re: [Pharo-project] Latest Zinc in Pharo 1.3 with MetacelloConfiguration

2011-12-12 Thread Francois Stephany

Dag Sven,


It would be great if you could update both to the latest versions of all 
packages.


I've updated the configuration to all the latest packages except for 
Gemstone.


Wehn Running the 190 tests I get one failure:

ZnClientTeststestIfFailNonExistingHost


Let me now if I did something wrong ;)

Cheers,

Francois



Re: [Pharo-project] [Pharo-users] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Marcus Denker

On Dec 12, 2011, at 8:37 PM, Francois Stephany wrote:

 Thanks Stef!
 
 Again I repeat it (and I know that you know): we are really interested in 
 making business grows around pharo.
 
 We know =)
 
 It is also important that success stories, even small ones, are shared.
 Having a public list of available consultancy resources would be good, yes.
 
 Yep, that's the two main points for me.
 
 But I guess that half the people on these lists are available for remotely 
 delivered services in one form or another ;-)
 
 That's true. And I guess there are many silent observers in the list as well. 
 How many people are there on
 Pharo-Dev
541

 and Pharo-Users by the way?

256


But both with the ones that are on [Nomail] which can be because of unsubscribe 
or because they read
the list via a gateway.

Marcus


--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] Citezen

2011-12-12 Thread Schwab,Wilhelm K
Ok, I'll bite: is the mismatch somehow acceptable?  Without the extraneous 
brace, Citezen parses the text; with the extraneous brace, it gives a token not 
expected error, which seems completely correct.

Am I missing something?  My image is a little old (if it ain't broke...), so 
maybe there has been a breaking change??

Bill




From: pharo-project-boun...@lists.gforge.inria.fr 
[pharo-project-boun...@lists.gforge.inria.fr] on behalf of Alexandre Bergel 
[alexandre.ber...@me.com]
Sent: Monday, December 12, 2011 2:54 PM
To: Oscar Nierstrasz
Cc: Pharo Development
Subject: Re: [Pharo-project] Citezen

I haven't checked closely, but it may comes from the bibitem Kort08a:

@incollection{Kort08a,
  author   = {Kortenkamp, David and Simmons, Reid},
  title= {Robotic systems architectures and programming},
  chapter  = {8},
  booktitle= {Springer Handbook of Robotics},
  pages= {187--206},
  address  = {Berlin, Heidelberg},
  publisher= {Springer},
  doi  = {10.1007/978-3-540-30301-5},
  year = {2008},
  keywords = {robotics springer damiencbib},
  isbn = {978-3-540-23957-4}
}
}

Obviously, there is a mismatch of the curly brackets. But both bibtex and make 
test are happy. Strange. Maybe a white character is somewhere between.

Cheers,
Alexandre

On 12 Dec 2011, at 12:50, Oscar Nierstrasz wrote:


 We are using Citezen-Pier to parse the scgbib on our web site. I'm on the 
 Netherlands right now so I cannot check ...

 cheers
 on

 ---
 Prof. Dr. O. Nierstrasz-- os...@iam.unibe.ch
 Software Composition Group -- http://scg.unibe.ch/oscar
 University of Bern -- Tel/Fax +41 31 631.4618/3355


 On 12 Dec 2011, at 12:26, Alexandre Bergel alexandre.ber...@me.com wrote:

 Hi!

 Apparently, Citezen does not parse scg.bib (http://scg.unibe.ch/scgbib). The 
 following expression raises an error: CZBibParser parse: (FileStream 
 fileNamed: '/Users/alexandrebergel/Workspace/scgbib/scg.bib') contents

 Is there something obvious I missed?

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






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









[Pharo-project] Videos ESUG 2010 on Youtube

2011-12-12 Thread Marcus Denker

Now *complete* 54 videos, 35 hours play time.

http://www.youtube.com/playlist?list=PL431285A978F581BB


--
Marcus Denker -- http://marcusdenker.de




Re: [Pharo-project] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Stephan Eggermont
Sven wrote:
 Having an active community where many people participate in making Pharo 
 better all the time is the best reference.

While that is a necessity, it is only relevant for a certain public 
(technically advanced, developer oriented, long term view).
It is not necessarily something other potential customers value. I'm currently 
doing a data conversion project.
Everything outside a timespan of the next 6 months is simply irrelevant. 
Startups with a lack of deep technological knowledge
also cannot tell the difference between a very large but clueless community and 
a small, but active and knowledgable.

 It is also important that success stories, even small ones, are shared.

Very much so. And (also) in a form that less technical people can understand. 

 But I guess that half the people on these lists are available for remotely 
 delivered services in one form or another ;-)

That seems like a correct observation. On the other hand these mailing lists 
function as a filter and are not a good way to
match demand and  supply. The problem is in explaining where Pharo/Seaside can 
provide a good solution in
business terms.  

 Although it is important that the community keeps on growing, we reached 
 critical mass a long time ago, IMHO.

For innovators yes. For early adopters, no. They value different things.

Stephan




Re: [Pharo-project] Sprint friday 16 @ lille

2011-12-12 Thread Noury Bouraqadi
Hi,

On 9 déc. 2011, at 09:06, Stéphane Ducasse wrote:

 Hi guys
 
 I'm not sure that my message passed in the mailing-list.
 We will organize a sprint new friday and everybody is welcome.

Cool. I'll be there!

 Just let us know so that we prepare the rooms.
 

It would be nice if we have a few items we collaborate to addess.
One possible item I'm planning to contribute to is to help Marcus/help our 
selves by reviewing some pending fixes in the bug tracker.

Noury
--
http://twitter.com/#!/NouryBouraqadi







Re: [Pharo-project] Missing network primitive

2011-12-12 Thread Noury Bouraqadi
Ok. I added it to the Cog bug tracker.
http://code.google.com/p/cog/issues/detail?id=68

Noury
On 10 déc. 2011, at 16:29, Levente Uzonyi wrote:

 On Sat, 10 Dec 2011, Noury Bouraqadi wrote:
 
 Hi,
 
 While working on OCEAN (yes, yes, we're still working on it :-) we have an 
 annoying issue.
 We have some netname resolver tests that do work with the Squeak Mac VM 5.8, 
 but they are not working in the Mac Cog VMs.
 
 This is because the  following primitives are missing at the VM side. Still, 
 they are useful cause they allow getting addresses of all network interfaces 
 of your machine.
 
 primitiveResolverGetAddressInfo
 primitiveResolverGetAddressInfoSize
 primitiveResolverGetAddressInfoResult
 primitiveResolverGetNameInfo
 primitiveResolverGetNameInfoHostSize
 primitiveResolverGetNameInfoHostResult
 primitiveResolverGetAddressInfoNext
 
 
 There are methods defined in the old NetNameResolver (class side) that call 
 these primitives, but they are NOT referenced.
 primGetAddressInfoHost:service:flags:family:type:protocol:
 primGetAddressInfoSize
 primGetAddressInfoResult:
 primGetNameInfo:flags:
 primGetNameInfoHostSize
 primGetNameInfoHostResult:
 primGetAddressInfoNext
 
 We checked the SqueakVM SVN, and they are there in the SocketPlugin.c
 Why didn't they get introduced in Mac CogVM?
 Are there missing for other platforms too?
 
 Yes they are, CogVM was forked before these were added to SqueakVM.
 
 
 Levente
 
 
 Luc and Noury
 --
 http://twitter.com/#!/NouryBouraqadi
 
 
 
 

Noury
--
http://twitter.com/#!/NouryBouraqadi







Re: [Pharo-project] Company/freelance working with Pharo/Seaside

2011-12-12 Thread Sean P. DeNigris

Stephan Eggermont wrote
 
 Although it is important that the community keeps on growing, we reached
 critical mass a long time ago, IMHO.
 For innovators yes. For early adopters, no. They value different things.
 

There was a great TED Talk that speaks to this topic:
Simon Sinek: How great leaders inspire action
http://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action.html

And a Smalltalk discussion of it at
http://forum.world.st/Spreading-Smalltalk-td3435227.html

The bottom line is: tell people what you believe, not what you do; and the
tipping point (critical mass) is 15%-18%. You can trip over 10% of the
customers... that just 'get it', but the early majority will not try
something until someone else has tried it first 



--
View this message in context: 
http://forum.world.st/Re-Company-freelance-working-with-Pharo-Seaside-tp4187752p4187913.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.



[Pharo-project] Big Image Tests

2011-12-12 Thread Sven Van Caekenberghe
Today I tried to find out if it would be possible to allocate a large amount of 
memory in a VM.

I used the official 32-bit VM 
(http://gforge.inria.fr/frs/download.php/29042/CogVM-Unix-13307.zip) and a 
Pharo 1.3 (http://gforge.inria.fr/frs/download.php/29273/Pharo-1.3-13315.zip) 
derived image on Ubuntu 11.04 (x86_64) Amazon AWS EC2 m1.large instance (about 
8Gb RAM) and the following bash and Smalltalk scripts:

run.sh

#!/bin/bash
script_home=$(dirname $0)
script_home=$(cd $script_home  pwd)
image=$script_home/pharo-t3.image
script=$script_home/run.st
args=$*
vm=$script_home/bin/CogVM
options=-mmap 1536m -vm-display-null -vm-sound-null
#echo $vm $options $image $script $args
$vm $options $image $script $args

run.st

| args size monolithic object |

FileStream stdout wantsLineEndConversion: true.

Smalltalk garbageCollect.

FileStream stdout
  nextPutAll: 'Running run.st with args: ';
  nextPutAll: Smalltalk commandLine arguments printString;
  cr;
  nextPutAll: Smalltalk vmStatisticsReportString.

args := Smalltalk commandLine arguments.
size := args first asInteger.
monolithic := (args size  1 and: [ args second = 'monolithic' ]).

monolithic
  ifTrue: [
object := ByteArray ofSize: size * 1024 * 1024 ]
  ifFalse: [
object := Array ofSize: size * 1024.
1 to: size * 1024 do: [ :each |
  object at: each put: (ByteArray ofSize: 1024) ] ].

Smalltalk garbageCollect.
 
FileStream stdout 
  nextPutAll: 'Allocation of a size ';
  print: object size;
  space;
  print: object class;
  nextPutAll: ' OK'; 
  cr;
  nextPutAll: Smalltalk vmStatisticsReportString.

Smalltalk quitPrimitive.

These were the results trying to allocate 1GB:

$ ./run.sh 1024
Running run.st with args: #('1024')
uptime  0h0m0s
memory  49,103,224 bytes
old 36,625,732 bytes (74.61%)
young   9,812 bytes (0.0%)
used36,635,544 bytes (74.61%)
free12,467,680 bytes (25.402%)
GCs 8 (90ms between GCs)
full2 totalling 212ms (29.402% uptime), 
avg 106.0ms
incr6 totalling 10ms (1.4001% uptime), avg 
1.7002ms
tenures 0
Allocation of a size 1048576 Array OK
uptime  0h0m26s
memory  -1,007,414,928 bytes
old -1,020,337,428 bytes (101.31%)
young   5,888 bytes (0.0%)
used-1,020,331,540 bytes (101.31%)
free12,916,612 bytes (-1.3%)
GCs 590 (44ms between GCs)
full62 totalling 14,735ms (56.6% uptime), avg 
237.72ms
incr528 totalling 10,225ms (39.304% uptime), 
avg 19.402ms
tenures 519 (avg 1 GCs/tenure)
Since last view 582 (44ms between GCs)
uptime  25.3s
full60 totalling 14,523ms (57.406% 
uptime), avg 242.12ms
incr522 totalling 10,215ms (40.304% uptime), 
avg 19.6ms
tenures 519 (avg 1 GCs/tenure)

$ ./run.sh 1024 monolithic
Running run.st with args: #('1024' 'monolithic')
uptime  0h0m0s
memory  49,103,216 bytes
old 36,627,976 bytes (74.61%)
young   9,844 bytes (0.0%)
used36,637,820 bytes (74.61%)
free12,465,396 bytes (25.402%)
GCs 8 (46ms between GCs)
full2 totalling 208ms (56.1% uptime), avg 104.0ms
incr6 totalling 10ms (2.7% uptime), avg 1.7002ms
tenures 0
Allocation of a size -1073741824 ByteArray OK
uptime  0h0m2s
memory  -1,020,427,928 bytes
old -1,037,112,380 bytes (101.61%)
young   5,952 bytes (0.0%)
used-1,037,106,428 bytes (101.61%)
free16,678,500 bytes (-1.6%)
GCs 13 (177ms between GCs)
full4 totalling 725ms (31.5% uptime), avg 181.3ms
incr9 totalling 14ms (0.6001% uptime), avg 1.6ms
tenures 0
Since last view 5 (386ms between GCs)
uptime  1.9001s
full2 totalling 517ms (26.8% uptime), avg 258.5ms
incr3 totalling 4ms (0.2% uptime), avg 1.3ms
tenures 0

Basically it seems to work.

What I find particulary strange is that #vmStatisticsReportString starts 
reporting negative sizes, also the size of the 1GB ByteArray is reported as 
negative. Why ?

Tomorrow I might try to find out how much further I can 

Re: [Pharo-project] Pharo research page

2011-12-12 Thread Mariano Martinez Peck
Hi Alexandre. I attach one of object swapping and ImageSegment, it is a
journal. There is the journal of Fuel also but we are waiting the
notification :(

Cheers


@article{Mart11c,
Abstract = {In object-oriented systems, runtime memory is composed of
an object graph in which objects refer to other objects. This graph of
objects evolves while the system is running.
Graph exporting and swapping are two important object graph operations.
Exporting refers to copying the graph to some other memory so that it can
be loaded by another system.
Swapping refers to moving the graph to a secondary memory (for example, a
hard disk) to  temporary release part of the primary memory (for example,
RAM).
Exporting and swapping are achieved in different ways and the speed in
presence of large object graphs is critical. Nevertheless, most of the
existing solutions do not address well this issue. Another challenge is to
deal with  common situations where objects outside the exported/swapped
graph point to objects inside the graph. To correctly load back an exported
subgraph, it is necessary to compute and export extra information that is
not explicit in the object subgraph.  This extra information is needed
because certain objects may require to be reinitialized or recreated, to
run specific code before or after the loading, to be updated to a new class
definition, etc.
In this paper, we present all general problems to our knowledge about
object exporting and swapping. As a case of study, we present an analysis
of ImageSegment, a fast solution to export and swap object graphs,
developed by Dan Ingalls. ImageSegment addresses the speed problems in an
efficient way, as shown by the results of several benchmarks we have
conducted using Pharo Smalltalk.
However, ImageSegment is not a panacea since it still has other problems
that hampers its general use.},
Aeres = {ACL},
Aeresstatus = {aeres12},
Annote = {internationaljournal},
Author = {Martinez Peck, Mariano and Noury Bouraqadi and St\'ephane
Ducasse and Luc Fabresse},
Doi = {10.1016/j.cl.2011.10.001},
Labo = {dans},
Journal = {Journal of Computer Languages, Systems and Structures},
Keywords = {pharo-pub lse-pub raweb2011},
Impactfactor = {5 Year ISI impact factor 0.567 (2010)},
Month = nov,
Number = {1},
Pages = {1--15},
Peerreview = {yes},
Publisher = {Elsevier},
Title = {Object Swapping Challenges: an Evaluation of ImageSegment},
Url = {
http://rmod.lille.inria.fr/archives/papers/Mart11c-COMLAN-ObjectSwapping.pdf
},
Volume = {38},
X-Country = {FR},
X-Editorial-Board = {yes},
X-International-Audience = {yes},
X-Language = {EN},
X-Pays = {FR},
X-Proceedings = {yes},
Year = {2012},
Hal-Id = {hal-00646897},
Inria = {RMOD},
Selectif = {non}}

On Mon, Dec 12, 2011 at 2:13 PM, Alexandre Bergel
alexandre.ber...@me.comwrote:

 Dear All,

 As you may know, the page http://www.pharo-project.org/about/researchlists 
 the publications related to Pharo.

 If you have a publication related to Pharo and want to see it listed
 there, send me the bibitem.
 Example of bibentries are
 http://scg.unibe.ch/scgbib?_k=4LCS3SCqquery=pharo+2011display=bibtex
 Having a url field in your bibitem will enable people download your paper.

 5 publications are listed for 2011. I am sure we have published more than
 that :-)

 Cheers,
 Alexandre

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









-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-project] IdentitySet but using #hash rather than #identityHash ?

2011-12-12 Thread Mariano Martinez Peck
On Mon, Dec 12, 2011 at 1:56 PM, Carlo snoob...@yahoo.ie wrote:

 Hi

 Wouldn't the fact that you use hash cause potential loops now? e.g.
 collection refers to another object that refers to first collection. --
 aCollectionhash references an item which causes this current collection's
 hash to be called again?


Hi Carlo. I am still newbie with Collections but I think I am having
exactly that problem. During my tests, it loops in Collection  #hash
when sending #hash to its elements.
Sorry, but I couldn't undertand what is the cause of the problem?  why it
doesn't work while it does using #identityHash?  could you elaborate?

thanks


 identityHash is deterministic in this case.

 Does this help?
 Cheers
 Carlo

 On 12 Dec 2011, at 10:58 AM, Mariano Martinez Peck wrote:

 Hi guys. I hope this is not a very stupid question. Background: in Fuel we
 have a IdentityDictionary where we put each of the objects we find while
 traversing the graph. We need to use IdentitySet because we cannot have
 repetitions (and to avoid loops) so we NEED to use #==. In such dictionary
 we put ALL objects of the graph, so it can be very big. Since IdentitySet
 uses #identityHash, it means it will be using those ONLY 12 bits in the
 object header. It means that we have 2^12 = 4096  different values.

 Question:  having explained the previous, I wanted to be able to use #hash
 rather than #identityHash since several classes implement #hash and hence I
 thought that using #hash I could have less colisions and hence a better
 performance. I tried to make a subclass of IdentitySet that uses #hash
 rather than #identityHash but my image freezes. I also tried something like:

 set := PluggableSet new.
 set hashBlock: [ :elem | elem hash ].
 set equalBlock: [ :a :b | a == b ].

 But it doesn't work either. I works with simple tests in a workspace but
 when I run the full tests of Fuel, it enters in a loop in the method #hash
 of Collection..

 Anyway, my question is, should that work? if not, what is the exact reason?

 Thanks in advance,

 --
 Mariano
 http://marianopeck.wordpress.com





-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-project] IdentitySet but using #hash rather than #identityHash ?

2011-12-12 Thread Mariano Martinez Peck
Thanks Levente. I will try both. Actually, I would also need a fast (or at
least I would like to use #hash) IdentityDictionary apart from a
IdentitySet ;)

On Mon, Dec 12, 2011 at 1:52 PM, Levente Uzonyi le...@elte.hu wrote:

 On Mon, 12 Dec 2011, Levente Uzonyi wrote:

  On Mon, 12 Dec 2011, Mariano Martinez Peck wrote:

  Hi guys. I hope this is not a very stupid question. Background: in Fuel
 we
 have a IdentityDictionary where we put each of the objects we find while
 traversing the graph. We need to use IdentitySet because we cannot have
 repetitions (and to avoid loops) so we NEED to use #==. In such
 dictionary
 we put ALL objects of the graph, so it can be very big. Since IdentitySet
 uses #identityHash, it means it will be using those ONLY 12 bits in the
 object header. It means that we have 2^12 = 4096  different values.

 Question:  having explained the previous, I wanted to be able to use
 #hash
 rather than #identityHash since several classes implement #hash and
 hence I
 thought that using #hash I could have less colisions and hence a better
 performance. I tried to make a subclass of IdentitySet that uses #hash
 rather than #identityHash but my image freezes. I also tried something
 like:

 set := PluggableSet new.
   set hashBlock: [ :elem | elem hash ].
   set equalBlock: [ :a :b | a == b ].

 But it doesn't work either. I works with simple tests in a workspace but
 when I run the full tests of Fuel, it enters in a loop in the method
 #hash
 of Collection..

 Anyway, my question is, should that work? if not, what is the exact
 reason?


 If the serialized objects remain unchanged, then it can work. You can
 also give another IdentitySet implementation a try, e.g.:
 http://leves.web.elte.hu/**squeak/LargeIdentitySet.sthttp://leves.web.elte.hu/squeak/LargeIdentitySet.st.


 You can also take a look at SystemTracer, because (IIRC) it uses an
 IdentitySet which will contain all objects at a point, and it's reasonably
 fast. IIRC the idea is to use the identityHash of the object mixed with the
 hash of its class to increase the number of bits in the key.


 Levente




 Levente


 Thanks in advance,

 --
 Mariano
 http://marianopeck.wordpress.**com http://marianopeck.wordpress.com







-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-project] IdentitySet but using #hash rather than #identityHash ?

2011-12-12 Thread Mariano Martinez Peck
On Tue, Dec 13, 2011 at 12:32 AM, Mariano Martinez Peck 
marianop...@gmail.com wrote:



 On Mon, Dec 12, 2011 at 1:56 PM, Carlo snoob...@yahoo.ie wrote:

 Hi

 Wouldn't the fact that you use hash cause potential loops now? e.g.
 collection refers to another object that refers to first collection. --
 aCollectionhash references an item which causes this current collection's
 hash to be called again?


 Hi Carlo. I am still newbie with Collections but I think I am having
 exactly that problem. During my tests, it loops in Collection  #hash
 when sending #hash to its elements.
 Sorry, but I couldn't undertand what is the cause of the problem?  why it
 doesn't work while it does using #identityHash?  could you elaborate?


Well, now I understood, and I understand also why it doesn't happen with
#identityHash. But what happens then with regular Dictionaries using #hash?
why it doesn't happen there?


 thanks


 identityHash is deterministic in this case.

 Does this help?
 Cheers
 Carlo

 On 12 Dec 2011, at 10:58 AM, Mariano Martinez Peck wrote:

 Hi guys. I hope this is not a very stupid question. Background: in Fuel
 we have a IdentityDictionary where we put each of the objects we find while
 traversing the graph. We need to use IdentitySet because we cannot have
 repetitions (and to avoid loops) so we NEED to use #==. In such dictionary
 we put ALL objects of the graph, so it can be very big. Since IdentitySet
 uses #identityHash, it means it will be using those ONLY 12 bits in the
 object header. It means that we have 2^12 = 4096  different values.

 Question:  having explained the previous, I wanted to be able to use
 #hash rather than #identityHash since several classes implement #hash and
 hence I thought that using #hash I could have less colisions and hence a
 better performance. I tried to make a subclass of IdentitySet that uses
 #hash rather than #identityHash but my image freezes. I also tried
 something like:

 set := PluggableSet new.
 set hashBlock: [ :elem | elem hash ].
 set equalBlock: [ :a :b | a == b ].

 But it doesn't work either. I works with simple tests in a workspace but
 when I run the full tests of Fuel, it enters in a loop in the method #hash
 of Collection..

 Anyway, my question is, should that work? if not, what is the exact
 reason?

 Thanks in advance,

 --
 Mariano
 http://marianopeck.wordpress.com





 --
 Mariano
 http://marianopeck.wordpress.com




-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-project] Cleaning up SmartRefStream use

2011-12-12 Thread Mariano Martinez Peck
On Sun, Dec 11, 2011 at 7:50 PM, Schwab,Wilhelm K bsch...@anest.ufl.eduwrote:

  When I last looked at SmartReferenceStream, it did two things that were
 bad:

 (1) it essentially assumed all users are in fact programmers, have
 access to the debugger, and (more presumptuous) know what to to with same.
 There are times when yelling it's broken is about all the system should
 dare do.  SRS made no such distinction.  Again, the age of the code is
 showing.  We have exception handling now, and should design with it in mind.

 (2) reshape code was placed in SRS itself, not in the class that is
 changing shape.  The thing that is being deserialized (which is when
 problems become apparent) should be in charge of the change.  It simplifies
 both packaging (fewer loose methods to consider, and reduced opportunity
 for name collisions) and it also helps with using proxies for special
 circumstances.


Thanks for the notes Bill. We will take them into account.





   --
 *From:* pharo-project-boun...@lists.gforge.inria.fr [
 pharo-project-boun...@lists.gforge.inria.fr] on behalf of Mariano
 Martinez Peck [marianop...@gmail.com]
 *Sent:* Sunday, December 11, 2011 10:54 AM
 *To:* Pharo-project@lists.gforge.inria.fr
 *Subject:* Re: [Pharo-project] Cleaning up SmartRefStream use



 On Sun, Dec 11, 2011 at 4:35 PM, Stéphane Ducasse 
 stephane.duca...@inria.fr wrote:


 On Dec 11, 2011, at 4:26 PM, Mariano Martinez Peck wrote:

 
 
  On Sun, Dec 11, 2011 at 11:32 AM, Stéphane Ducasse 
 stephane.duca...@inria.fr wrote:
  Indeed this is fun I was doing the same :)
  Now I do not understand why some parts of the system uses dataStream,
 others ReferenceStream and finally others SmartRefStream
  why not all of them use SmartRefStream.
 
  It is not that I like these guys, but their class comments are pretty
 clear:
  - DataStream does NOT handle cycles, but hence it may be faster in
 certain scenarios. I guess that for example, Monticello is sure that in its
 definitions, there cannot be cycles.  In addition, it doesn't take into
 account variables names/order and hence class reshape isn't supported.
  - ReferenceStream supports cycles but still doesn't support class
 reshape.
  - SmartRefStream supports cycles and class reshape.
 
  sounds good


 Yes it does. In fact, I would love also to have those things
 optional/configurable in Fuel: optional cycle detection and optional class
 reshape support :)


 then we should be able to replace all the reference stream and smart by
 fuel.


 Yes, but Fuel is not completly ready to fully replace them. There are some
 hooks they provide that Fuel does not yet. But we will get there at some
 point.



 stef




 --
 Mariano
 http://marianopeck.wordpress.com




-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-project] Scat - Public Release and announcement

2011-12-12 Thread Serge Stinckwich
2011/12/13 Bernat Romagosa tibabenfortlapala...@gmail.com:
 Hi list,

 Joan Güell and I have been working on Scat -the Scratch port to Pharo- quite
 a lot recently. We wanted to push it to a point where we could release the
 first reasonably working version, which we've just managed today.

Great work Joan  Bernat !

 Please take a look at the release announcement (which should be read in a
 bit of a humorous tone), in which we explain what's up with the project and
 what future is left for it.

 For the tl;dr version, please read:

 Many things are working, many aren't, but the state of the project allows us
 to move into more interesting stuff based on the graphic programming
 metaphor.
 Scat is a time-consuming, brain-smashing, life sucking-project.
 We no longer will be maintaining this massive unmaintainable code.
 Suddenly: free time for other projects!

Why do you say that you will not maintain the project anymore ?
Do you mean this is better to rebuild something better ?

Any news from Scratch about a relicensing of the core ?

Regards,
-- 
Serge Stinckwich
UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
Matsuno Laboratory, Kyoto University, Japan (until 12/2011)
http://www.mechatronics.me.kyoto-u.ac.jp/
Every DSL ends up being Smalltalk
http://doesnotunderstand.org/



[Pharo-project] [COTDC] 96 - GZipWriteStream

2011-12-12 Thread DeNigris Sean
94 classes done
16 Packages done
800 classes remaining
Continuing in Compression...

Today:  GZipWriteStream 


Comment Of The Day Contest - One Day One Comment 
Rules: 
#1: Each day a not commented class is elected. Each day the best comment will 
be integrated with name of the author(s). 
#2: If you cannot comment it, deprecate it. 
Results: http://code.google.com/p/pharo/wiki/CommentOfTheDayContest

p.s. this message was sent from a pharo image. Did you know you could easily do 
that?!


Re: [Pharo-project] [ANN] Eclipse Icons for Pharo

2011-12-12 Thread Fernando Olivero
Nice!
As soon as squeaksource is up, i will import them using the icon
importer, so we can give them a try.
Fernando

On Mon, Dec 12, 2011 at 6:29 PM, Stéphane Ducasse
stephane.duca...@inria.fr wrote:
 http://www.famfamfam.com/
 ?



 Hi Fernando,

 oops... I forgot your icon importer, sorry :P

 I would like –for a future– to integrate it to pharo and replace current 
 ThemeIcons with an icon strategy based on your package... maybe that is the 
 best future scenario for icons.

 best,
 Esteban

 El 11/12/2011, a las 8:49a.m., Fernando Olivero escribió:

 Hi Esteban, nice work!
 For importing the icons you can use the toolset i've developed: it
 automates completely the process of importing a complete set of icons
 of a given family.

 ExternalIconFamily @ squeaksource.
 I've used it for importing the Oxygen icon set, and others (you can
 google the list for previous related emails).

 Fernando

 On Sun, Dec 11, 2011 at 10:38 AM, Stéphane Ducasse
 stephane.duca...@inria.fr wrote:
 Esteban
 I know that feeling :)

 :)
 Now I'm not sure that I would like to carry the Eclipse License around in 
 Pharo :)
 What are the other icons sets we could use with a nice license and we do 
 it :).
 famfam?

 We should clean also the old icons because some are really old.
 Thanks for pushing that. I would love to have new icons for Pharo.
 Stef



 On Dec 11, 2011, at 3:15 AM, Esteban Lorenzano wrote:

 Hi,

 Today I was bored and not wanting to think too much... but I wanted to do 
 something for Pharo... and I never liked the current Pharo icons, so I 
 took one icon library I really like and changed all needed icons (well... 
 all that I saw).
 Here a couple of screen shots:

 Captura de pantalla 2011-12-10 a la(s) 23.05.55.png
 Captura de pantalla 2011-12-10 a la(s) 23.06.20.png

 Of course, I don't think they are perfect (also maybe I didn't pick the 
 best icons), but I think they look a lot better than the older.

 If you want to see how they look, this are the packages:

 for Pharo 1.3:

 Eclipse-Icons-EstebanLorenzano.2.mcz

 for Pharo 1.4:

 Eclipse-Icons-EstebanLorenzano.4.mcz


 Then you execute:

 ThemeIcons initializeIcons.
 World resetWorldMenu.

 ... and enjoy your new icons :)

 btw... this icons are in an open-source license, the EPL: 
 http://www.eclipse.org/legal/epl-v10.html
 so, maybe –if all agree–, we can add this icons to regular distribution :)

 best,
 Esteban










Re: [Pharo-project] IdentitySet but using #hash rather than #identityHash ?

2011-12-12 Thread Carlo
Hi Mariano

I'm no expert either ;)
Without having access to the exact code it would look like either you have a 
collection that references itself (which would break all collection 
implementations) or maybe the tests have just slowed down to the point where 
you think it's 'crashed'.
Do you have anymore info or perhaps which methods you changed on IdentitySet?

Cheers
Carlo

On 13 Dec 2011, at 1:57 AM, Mariano Martinez Peck wrote:



On Tue, Dec 13, 2011 at 12:32 AM, Mariano Martinez Peck marianop...@gmail.com 
wrote:


On Mon, Dec 12, 2011 at 1:56 PM, Carlo snoob...@yahoo.ie wrote:
Hi

Wouldn't the fact that you use hash cause potential loops now? e.g. collection 
refers to another object that refers to first collection. -- aCollectionhash 
references an item which causes this current collection's hash to be called 
again?


Hi Carlo. I am still newbie with Collections but I think I am having exactly 
that problem. During my tests, it loops in Collection  #hash  when sending 
#hash to its elements.
Sorry, but I couldn't undertand what is the cause of the problem?  why it 
doesn't work while it does using #identityHash?  could you elaborate?


Well, now I understood, and I understand also why it doesn't happen with 
#identityHash. But what happens then with regular Dictionaries using #hash? why 
it doesn't happen there?
 
thanks
 
identityHash is deterministic in this case.

Does this help?
Cheers
Carlo

On 12 Dec 2011, at 10:58 AM, Mariano Martinez Peck wrote:

Hi guys. I hope this is not a very stupid question. Background: in Fuel we have 
a IdentityDictionary where we put each of the objects we find while traversing 
the graph. We need to use IdentitySet because we cannot have repetitions (and 
to avoid loops) so we NEED to use #==. In such dictionary we put ALL objects of 
the graph, so it can be very big. Since IdentitySet uses #identityHash, it 
means it will be using those ONLY 12 bits in the object header. It means that 
we have 2^12 = 4096  different values.  

Question:  having explained the previous, I wanted to be able to use #hash 
rather than #identityHash since several classes implement #hash and hence I 
thought that using #hash I could have less colisions and hence a better 
performance. I tried to make a subclass of IdentitySet that uses #hash rather 
than #identityHash but my image freezes. I also tried something like:

set := PluggableSet new.
set hashBlock: [ :elem | elem hash ].
set equalBlock: [ :a :b | a == b ].

But it doesn't work either. I works with simple tests in a workspace but when I 
run the full tests of Fuel, it enters in a loop in the method #hash of 
Collection..

Anyway, my question is, should that work? if not, what is the exact reason?

Thanks in advance,

-- 
Mariano
http://marianopeck.wordpress.com





-- 
Mariano
http://marianopeck.wordpress.com




-- 
Mariano
http://marianopeck.wordpress.com




Re: [Pharo-project] native boost is the best thing since COGVM

2011-12-12 Thread Fernando Olivero
Done, indeed it's a better design now!

I've removed the NBCairo class, reified almost all Cairo objects as a
subclass of NBCairoObject.

I've also added CairoText, for easier drawing of text using Cairo Toy Text API.
(and CairoLineCap, CairoLineJoin )

All the examples work again, also the new ones. As soon as
squeaksource is up again i'll commit.

Fernando
pd: I will apply the same refactoring to NBPango also. I still have to
answer your questions regarding the use of Pango.


On Mon, Dec 12, 2011 at 6:44 PM, Stéphane Ducasse
stephane.duca...@inria.fr wrote:

 On Dec 12, 2011, at 5:35 PM, Igor Stasenko wrote:

 On 12 December 2011 17:16, Fernando Olivero fernando.oliv...@usi.ch wrote:
 ok, i see your point. I will refactor back to Javier's approach.
 My rationale was to reify the Cairo library as it is, luckily all the
 other examples work.

 Well, it makes sense to do things like that, when you want a fast and
 dirty working stuff.
 But a good wrapping makes a lot of difference: there is no need to
 indicate that you using a library
 through 'self cairo' everywhere. It is just an indirection without any 
 benefit.

 Wrapper classes and their instances should provide a required
 functionality through well defined protocols, and then from user's
 standpoint it is really
 makes no difference who implements them.
 That's why we need Athens.

 Indeed we do want to have cairo dependencies inside our system
 just encapsulated in their respective canvases.


 If i add the shared pool NBCairoTypes to the NBCairo then NativeBoost
 automatically associates the type? Because i've been putting directly
 int. Would be nice to have a couple of examples of NB (whenever the
 time is enough for you guys, i know you are busy)


 Yes, but these examples were written specifically to show how to wrap
 a library in object-oriented way  :)
 Look at pharo by example book [1], there you can find an explanation
 how to use shared pools.
 Of course it is far from complete, but my opinion that your
 refactoring gives a bad example to future developers.
 They should think in terms of objects and place callouts in
 corresponding classes with nicely formed protocol(s).

 I am looking forward for you to come, so i can explain things more
 directly and easier :)

 [1] 
 https://gforge.inria.fr/scm/viewvc.php/*checkout*/PharoByExampleTwo-Eng/Alien/alien.pdf?root=pharobooks

 thanks for the feedback,
 Fernando



 On Mon, Dec 12, 2011 at 5:05 PM, Igor Stasenko siguc...@gmail.com wrote:
 CairoSampleProgramsrectangleAndText
 does not works, because it uses a following method:

 NBCairoselectFont: aFamily slant: slant weight: aWeight on: 
 aNBCairoContext
        primitive: #primitiveNativeCall module: #NativeBoostPlugin
        ^self call: #(void cairo_select_font_face (NBCairoContext 
 aNBCairoContext,
                                                         String aFamily,

 cairo_font_slant_t slant,

 cairo_font_weight_t aWeight) )


 and during code generation it barks that it unable to resolve
 'cairo_font_slant_t'  type.
 Because NBCairo class does not includes a corresponding shared pool
 (NBCairoTypes).

 Also, Fernando, i don't like that you put everything into a single
 class (NBCairo).
 This is wrong, not object-oriented. The original organization made by
 Javier was much more closer to my tastes.

 This approach to wrapping a library is too mechanical. It is much
 better to place calls at proper place(s) in proper classes,
 rather than putting everything into a single one. Which means that in
 this way you are at least 1 message send farther from
 real function call.
 But in your case its not even that..

 NBCairoPatternstatus
        ^ self cairo patternStatusOf: self

 cairo
        ^ NBCairo default

 so , it is 2 extra message sends, instead of direct call to foreign 
 function!


 --
 Best regards,
 Igor Stasenko.





 --
 Best regards,
 Igor Stasenko.





Re: [Pharo-project] IdentitySet but using #hash rather than #identityHash ?

2011-12-12 Thread Michael Roberts
Hi Mariano, when I read this thread I was a bit confused that you wanted an
IdentitySet that used #hash. From that statement it sounded like you just
wanted a Set. This would allow any object to define its own hash and
importantly what equality means with #=. So if you want to delegate that to
the object use a Set.

However as the thread has gone on perhaps you want the identity
relationship but you just wanted a bigger identity hash space?

IdentitySets are fast because they bypass any delegation. Once you have
seen the object in your traversal (common usage pattern) that's it. You
grab it's identity which is a pretty low level thing to do.

As for what happens with collections who knows. Depends. Relying on
identity set semantics for a collection is easy. Set semantics is not so.
Remember that both hash and equals are important to know if the set already
contains the element. Depending on the collection implementation both of
these could be composite in terms of the parts. Who knows where you end or
how long it takes. I.e. if it is a function of the size of the collection
and further collections are composite

Cheers
Mike


On Tuesday, December 13, 2011, Carlo snoob...@yahoo.ie wrote:
 Hi Mariano
 I'm no expert either ;)
 Without having access to the exact code it would look like either you
have a collection that references itself (which would break all collection
implementations) or maybe the tests have just slowed down to the point
where you think it's 'crashed'.
 Do you have anymore info or perhaps which methods you changed on
IdentitySet?
 Cheers
 Carlo
 On 13 Dec 2011, at 1:57 AM, Mariano Martinez Peck wrote:


 On Tue, Dec 13, 2011 at 12:32 AM, Mariano Martinez Peck 
marianop...@gmail.com wrote:


 On Mon, Dec 12, 2011 at 1:56 PM, Carlo snoob...@yahoo.ie wrote:

 Hi
 Wouldn't the fact that you use hash cause potential loops now? e.g.
collection refers to another object that refers to first collection. --
aCollectionhash references an item which causes this current collection's
hash to be called again?

 Hi Carlo. I am still newbie with Collections but I think I am having
exactly that problem. During my tests, it loops in Collection  #hash
when sending #hash to its elements.
 Sorry, but I couldn't undertand what is the cause of the problem?  why
it doesn't work while it does using #identityHash?  could you elaborate?


 Well, now I understood, and I understand also why it doesn't happen with
#identityHash. But what happens then with regular Dictionaries using #hash?
why it doesn't happen there?


 thanks


 identityHash is deterministic in this case.
 Does this help?
 Cheers
 Carlo
 On 12 Dec 2011, at 10:58 AM, Mariano Martinez Peck wrote:
 Hi guys. I hope this is not a very stupid question. Background: in Fuel
we have a IdentityDictionary where we put each of the objects we find while
traversing the graph. We need to use IdentitySet because we cannot have
repetitions (and to avoid loops) so we NEED to use #==. In such dictionary
we put ALL objects of the graph, so it can be very big. Since IdentitySet
uses #identityHash, it means it will be using those ONLY 12 bits in the
object header. It means that we have 2^12 = 4096  different values.

 Question:  having explained the previous, I wanted to be able to use
#hash rather than #identityHash since several classes implement #hash and
hence I thought that using #hash I could have less colisions and hence a
better performance. I tried to make a subclass of IdentitySet that uses
#hash rather than #identityHash but my image freezes. I also tried
something like:

 set := PluggableSet new.
 set hashBlock: [ :elem | elem hash ].
 set equalBlock: [ :a :b | a == b ].

 But it doesn't work either. I works with simple tests in a workspace
but when I run the full tests of Fuel, it enters in a loop in the method
#hash of Collection..

 Anyway, my question is, should that work? if not, what is the exact
reason?

 Thanks in advance,

 --
 Mariano
 http://marianopeck.wordpress.com





 --
 Mariano
 http://marianopeck.wordpress.com




 --
 Mariano
 http://marianopeck.wordpress.com