Re: [Pharo-users] [ANN] JNIPort for Pharo 3.0 alpha

2014-04-08 Thread Joachim Geidel
BTW, I have published an updated version of JNIPort which partly resolves the 
performance issue caused by using #become:. 

Joachim 
-- 
My OpenPGP Key: 29F88108 available from hkp://wwwkeys.de.pgp.net


Re: [Pharo-users] [ANN] JNIPort for Pharo 3.0 alpha

2014-04-08 Thread Sven Van Caekenberghe

On 05 Apr 2014, at 23:35, Joachim Geidel joachim.gei...@onlinehome.de wrote:

 Yes, #become: is *very* slow in Pharo. No problem at all in VisualWorks or 
 Dolphin Smalltalk or Pharo 1.2, though! 
 
 Time millisecondsToRun: [1000 timesRepeat: [String new become: String new ]] 
 
 Pharo 3.0 (and also in 2.0 and 1.4):
 3948 3495 2891 2532 3162
 
 Pharo 1.2 with the Squeak 4.2.5beta1U VM:
 90 89 82 90 72
 
 VisualWorks 7.9.1: note that this is measured in microseconds: 
 Time microsecondsToRun: [1000 timesRepeat: [String new become: String new ]] 
 211 208 222 212 208

Yes, this is an extreme difference.

On my machine, the above takes between 1 and 2 seconds in Pharo 3 (Pharo VM) 
and Squeak 4.5 (Cog VM), while VW 7.1 takes just 100 to 200 microseconds.

Normally, #become: has to iterate over all memory, but this benchmark is a bit 
special, since it involves two new objects, maybe VW's memory manager somehow 
optimises this away.

Sven


Re: [Pharo-users] [ANN] BabyMock 2

2014-04-08 Thread Christophe Demarey
Hello,

Thanks. Very nice library!

I have a question: is it possible to expect a method to throw an Exception?

I would like something like:
protocol describe
once: mock recv: #aMethod ;
signal: anError.
I did not find anything in the documentation.

I don't want to test that the mock signals an error but I want to test a code 
that needs to take into account an exception.

Best regards,
Christophe.

Le 11 mars 2014 à 12:30, Attila Magyar a écrit :

 I'm pleased to announce the 2.0 version of BabyMock. BabyMock is a visual
 mock object library that supports test-driven development.
 
 This version has a new syntax which is incompatible with the old version.
 Therefore it has a new repository
 http://smalltalkhub.com/#!/~zeroflag/BabyMock2
 (BabyMock 1 is still available at its old location, but in the future I'd to
 focus on the development of BabyMock2, so don't expect too many changes
 regarding the old version).
 
 Changes in 2.0
 
 - A new, extensible DSL (no more should/can)
 - Improved error messages, history of messages, detailed information about
 argument mismatches
 - An improved, Spec based GUI
 - Clicking on a mock opens an inspector on the expectations
 - Clicking on a message opens an inspector on the message
 - Object methods can be mocked by defaults
 - Blocks can be executed after receiving a message by the mock. The block
 has access to the arguments of the incoming message.
 - Any argument matcher
 - Cleanups and simplifications in the code
 
 I hope you don't mind the changes regarding the syntax. Personally I think
 it has lot more pros than cons.
 
 More information
 
 http://smalltalkhub.com/#!/~zeroflag/BabyMock2
 
 p.s. 
 It needs Pharo3.0.
 
 Attila
 
 
 
 --
 View this message in context: 
 http://forum.world.st/ANN-BabyMock-2-tp4748530.html
 Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
 



smime.p7s
Description: S/MIME cryptographic signature


Re: [Pharo-users] [ANN] WIP iStoa

2014-04-08 Thread Hilaire Fernandes
Le 07/04/2014 10:01, Bernat Romagosa a écrit :
 Just FYI, I had to replace the shipped vm and plugins by the latest ones
 to get it to work on my Debian Wheezy machine.

But wait, how come more recent VM work for you and not a bit older one
(a few months)? Indeed I used a stock VM coming with Pharo3 linux
distribution.

The problem comes from GLIBC with hardlink dependencies to 2.15.

$ objdump -T iStoa.app/bin/pharo | grep GLIBC_2.15
  DF *UND*    GLIBC_2.15  __fdelt_chk

Therefore I will be curious about
objdump -T iStoa.app/bin/pharo | grep __fdelt_chk
in your vm.


Then what about
dpkg -l | grep libc6

I don't understand much why and how there are multiple glibc version
dependencies.


Thanks a lot.

Hilaire


-- 
Dr. Geo http://drgeo.eu




[Pharo-users] Bug in SSL

2014-04-08 Thread Norbert Hartl
As you might know a sever bug in the openssl library har been reported to the 
public. This bug is pretty nasty and allows in an easy fashion to access 
protected data.

Please consider upgrading your products and operating systems to a fixed 
version of openssl.

https://www.openssl.org/news/secadv_20140407.txt

regards,

Norbert



[Pharo-users] Pharo Consortium: New Bronze Member Ta Mère

2014-04-08 Thread Marcus Denker
The Pharo Consortium is very happy to announce that Ta Mère has joined the 
Consortium 
as a Bronze Industrial Member. 

More about
  - Ta Mère: http://tamere.eu
  - Pharo Consortium: http://consortium.pharo.org


The goal of the Pharo Consortium is to allow companies to support the ongoing 
development and future of Pharo.

Individuals can support Pharo via the Pharo Association:  
http://association.pharo.org


Re: [Pharo-users] [ANN] JNIPort for Pharo 3.0 alpha

2014-04-08 Thread Pharo4Stef
In VW there is the concept of object bodies and head now we will eventually 
have that with Spur. Maybe clement explained it somewhere in his blog (I 
understood the point once and of course I forgot).

Now I wonder what changed so much between 1.2 and 3.0

 
 Yes, #become: is *very* slow in Pharo. No problem at all in VisualWorks or 
 Dolphin Smalltalk or Pharo 1.2, though! 
 
 Time millisecondsToRun: [1000 timesRepeat: [String new become: String new ]] 
 
 Pharo 3.0 (and also in 2.0 and 1.4):
 3948 3495 2891 2532 3162
 
 Pharo 1.2 with the Squeak 4.2.5beta1U VM:
 90 89 82 90 72
 
 VisualWorks 7.9.1: note that this is measured in microseconds: 
 Time microsecondsToRun: [1000 timesRepeat: [String new become: String new ]] 
 211 208 222 212 208
 
 Yes, this is an extreme difference.
 
 On my machine, the above takes between 1 and 2 seconds in Pharo 3 (Pharo VM) 
 and Squeak 4.5 (Cog VM), while VW 7.1 takes just 100 to 200 microseconds.
 
 Normally, #become: has to iterate over all memory, but this benchmark is a 
 bit special, since it involves two new objects, maybe VW's memory manager 
 somehow optimises this away.
 
 Sven




[Pharo-users] Error: No factory specified

2014-04-08 Thread Esteban A. Maringolo
I'm trying to load a Metacello Configuration I use in Pharo 2 into a brand
new Pharo 3 image.

However I'm getting an error when attempting to load it, and it opens the
emergency evaluator.

In the console I see following stack, which repeats over and over:

LRUCache(Object)error:
LRUCache(Cache)at:
ScrollBar classarrowOfDirection:size:color:
ScrollBarupImage
ScrollBarupdateUpButtonImage
ScrollBarinitializeUpButton
ScrollBarinitializeSlider
ScrollBar(Slider)extent:
ScrollBarextent:
ScrollBar(Morph)bounds:
MorphTreeMorph(ScrollPane)hResizeScrollBar
MorphTreeMorph(ScrollPane)resizeScrollBars
MorphTreeMorph(ScrollPane)hideOrShowScrollBars
MorphTreeMorph(ScrollPane)setScrollDeltas
MorphTreeMorphadjustSubmorphPositionsOf:startIdx:startPos:
MorphTreeMorphadjustSubmorphPositions
MorphTreeMorphinnerWidgetChanged
MorphTreeMorphprivateUpdateColumnMorphs
MorphTreeMorphupdateColumnMorphs
MorphTreeMorphaddSubmorphsFromNodeList:previouslyExpanded:
MorphTreeMorphupdateContentsWithPreviouslyExpanded:
MorphTreeMorphupdateList
MorphTreeMorphupdate:
PackageTreeModel(Object)changed: in Block: [ :aDependent | aDependent
update: aParameter ]
DependentsArraydo:
PackageTreeModel(Object)changed:
PackageTreeNautilusUIupdatePackageView
PackageTreeNautilusUI(AbstractNautilusUI)mcWorkingCopyCreated:
WeakMessageSendvalue:
WeakMessageSendcull:
Error: No factory specified

Any clues?


Esteban A. Maringolo


Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Pharo4Stef
Not really. 
This is strange.

Stef

 I'm trying to load a Metacello Configuration I use in Pharo 2 into a brand 
 new Pharo 3 image.
 
 However I'm getting an error when attempting to load it, and it opens the 
 emergency evaluator.
 
 In the console I see following stack, which repeats over and over:
 
 LRUCache(Object)error:
 LRUCache(Cache)at:
 ScrollBar classarrowOfDirection:size:color:
 ScrollBarupImage
 ScrollBarupdateUpButtonImage
 ScrollBarinitializeUpButton
 ScrollBarinitializeSlider
 ScrollBar(Slider)extent:
 ScrollBarextent:
 ScrollBar(Morph)bounds:
 MorphTreeMorph(ScrollPane)hResizeScrollBar
 MorphTreeMorph(ScrollPane)resizeScrollBars
 MorphTreeMorph(ScrollPane)hideOrShowScrollBars
 MorphTreeMorph(ScrollPane)setScrollDeltas
 MorphTreeMorphadjustSubmorphPositionsOf:startIdx:startPos:
 MorphTreeMorphadjustSubmorphPositions
 MorphTreeMorphinnerWidgetChanged
 MorphTreeMorphprivateUpdateColumnMorphs
 MorphTreeMorphupdateColumnMorphs
 MorphTreeMorphaddSubmorphsFromNodeList:previouslyExpanded:
 MorphTreeMorphupdateContentsWithPreviouslyExpanded:
 MorphTreeMorphupdateList
 MorphTreeMorphupdate:
 PackageTreeModel(Object)changed: in Block: [ :aDependent | aDependent 
 update: aParameter ]
 DependentsArraydo:
 PackageTreeModel(Object)changed:
 PackageTreeNautilusUIupdatePackageView
 PackageTreeNautilusUI(AbstractNautilusUI)mcWorkingCopyCreated:
 WeakMessageSendvalue:
 WeakMessageSendcull:
 Error: No factory specified
 
 Any clues?
 
 
 Esteban A. Maringolo




Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Esteban A. Maringolo
Another pointer here before opening the emergency recovery.
This is what I get. No other error.





Esteban A. Maringolo


2014-04-08 16:15 GMT-03:00 Esteban A. Maringolo emaring...@gmail.com:

 I tried closing all windows, and just having a workspace. But the same
 happens even if I load the configuration through the command line.

 Screenshot attached.

 Esteban A. Maringolo


 2014-04-08 16:10 GMT-03:00 Pharo4Stef pharo4s...@free.fr:

 Not really.
 This is strange.

 Stef

  I'm trying to load a Metacello Configuration I use in Pharo 2 into a
 brand new Pharo 3 image.
 
  However I'm getting an error when attempting to load it, and it opens
 the emergency evaluator.
 
  In the console I see following stack, which repeats over and over:
 
  LRUCache(Object)error:
  LRUCache(Cache)at:
  ScrollBar classarrowOfDirection:size:color:
  ScrollBarupImage
  ScrollBarupdateUpButtonImage
  ScrollBarinitializeUpButton
  ScrollBarinitializeSlider
  ScrollBar(Slider)extent:
  ScrollBarextent:
  ScrollBar(Morph)bounds:
  MorphTreeMorph(ScrollPane)hResizeScrollBar
  MorphTreeMorph(ScrollPane)resizeScrollBars
  MorphTreeMorph(ScrollPane)hideOrShowScrollBars
  MorphTreeMorph(ScrollPane)setScrollDeltas
  MorphTreeMorphadjustSubmorphPositionsOf:startIdx:startPos:
  MorphTreeMorphadjustSubmorphPositions
  MorphTreeMorphinnerWidgetChanged
  MorphTreeMorphprivateUpdateColumnMorphs
  MorphTreeMorphupdateColumnMorphs
  MorphTreeMorphaddSubmorphsFromNodeList:previouslyExpanded:
  MorphTreeMorphupdateContentsWithPreviouslyExpanded:
  MorphTreeMorphupdateList
  MorphTreeMorphupdate:
  PackageTreeModel(Object)changed: in Block: [ :aDependent | aDependent
 update: aParameter ]
  DependentsArraydo:
  PackageTreeModel(Object)changed:
  PackageTreeNautilusUIupdatePackageView
  PackageTreeNautilusUI(AbstractNautilusUI)mcWorkingCopyCreated:
  WeakMessageSendvalue:
  WeakMessageSendcull:
  Error: No factory specified
 
  Any clues?
 
 
  Esteban A. Maringolo




attachment: workspace-error-lrucache.png

Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Stephan Eggermont
Please check what is in your package cache.
Any package where you have multiple versions?

Stephan



Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe
What are you loading ? There was a report back of some package overwriting 
system code leading to this error, I'll see if I can find it.

On 08 Apr 2014, at 21:05, Esteban A. Maringolo emaring...@gmail.com wrote:

 I'm trying to load a Metacello Configuration I use in Pharo 2 into a brand 
 new Pharo 3 image.
 
 However I'm getting an error when attempting to load it, and it opens the 
 emergency evaluator.
 




Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe
https://pharo.fogbugz.com/f/cases/12667

It was BabyMock-Examples.

HTH,

Sven

On 08 Apr 2014, at 21:59, Sven Van Caekenberghe s...@stfx.eu wrote:

 What are you loading ? There was a report back of some package overwriting 
 system code leading to this error, I'll see if I can find it.
 
 On 08 Apr 2014, at 21:05, Esteban A. Maringolo emaring...@gmail.com wrote:
 
 I'm trying to load a Metacello Configuration I use in Pharo 2 into a brand 
 new Pharo 3 image.
 
 However I'm getting an error when attempting to load it, and it opens the 
 emergency evaluator.
 
 




Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Esteban A. Maringolo
Okay, I found the culprit: Glorp.

If you execute this, it will load a class named Cache, which will overwrite
Pharo's version. As happened with the referenced issue.

Gofer it
url: 'http://smalltalkhub.com/mc/DBXTalk/Glorp/main';
package: 'Glorp';
 load.

No one ever tried loading Glorp into a Pharo3 image? What do people use for
ORM?

Regards!


Esteban A. Maringolo


2014-04-08 17:00 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:

 https://pharo.fogbugz.com/f/cases/12667

 It was BabyMock-Examples.

 HTH,

 Sven

 On 08 Apr 2014, at 21:59, Sven Van Caekenberghe s...@stfx.eu wrote:

  What are you loading ? There was a report back of some package
 overwriting system code leading to this error, I'll see if I can find it.
 
  On 08 Apr 2014, at 21:05, Esteban A. Maringolo emaring...@gmail.com
 wrote:
 
  I'm trying to load a Metacello Configuration I use in Pharo 2 into a
 brand new Pharo 3 image.
 
  However I'm getting an error when attempting to load it, and it opens
 the emergency evaluator.
 
 





[Pharo-users] Hierarchical state machine implementation

2014-04-08 Thread Johan Fabry
Hi all,

I was wondering if there is an implementation of a hierarchical state machines 
(with input and output actions) available somewhere for Pharo. Any ideas?

Thanks in advance!

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

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




Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Stephan Eggermont
We might be better off renaming Cache to WeightedCache (or NeoCache or 
SystemCache).
The class comment in Cache seems to cover more than what Cache actually does 
itself.

Stephan


Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe
Argh, yeah, another namespace problem. Sorry you had to run into that.

I do wonder though: is there no warning when you are (about to) overwrite an 
existing class ? 

And I would never name any class of mine anything general like Cache or Record 
without a namespace prefix.

There should indeed be a CI job, I thought there was talk about a DBX one, but 
I can't find it.

On 08 Apr 2014, at 22:34, Esteban A. Maringolo emaring...@gmail.com wrote:

 Okay, I found the culprit: Glorp.
 
 If you execute this, it will load a class named Cache, which will overwrite 
 Pharo's version. As happened with the referenced issue.
 
 Gofer it 
   url: 'http://smalltalkhub.com/mc/DBXTalk/Glorp/main';
   package: 'Glorp';
   load.
 
 No one ever tried loading Glorp into a Pharo3 image? What do people use for 
 ORM?
 
 Regards!
 
 
 Esteban A. Maringolo
 
 
 2014-04-08 17:00 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:
 https://pharo.fogbugz.com/f/cases/12667
 
 It was BabyMock-Examples.
 
 HTH,
 
 Sven
 
 On 08 Apr 2014, at 21:59, Sven Van Caekenberghe s...@stfx.eu wrote:
 
  What are you loading ? There was a report back of some package overwriting 
  system code leading to this error, I'll see if I can find it.
 
  On 08 Apr 2014, at 21:05, Esteban A. Maringolo emaring...@gmail.com wrote:
 
  I'm trying to load a Metacello Configuration I use in Pharo 2 into a brand 
  new Pharo 3 image.
 
  However I'm getting an error when attempting to load it, and it opens the 
  emergency evaluator.
 
 
 
 
 




Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe

On 08 Apr 2014, at 23:06, Stephan Eggermont step...@stack.nl wrote:

 We might be better off renaming Cache to WeightedCache (or NeoCache or 
 SystemCache).
 The class comment in Cache seems to cover more than what Cache actually does 
 itself.
 
 Stephan

I disagree: third-party code should not use un-prefixed general names for 
classes as long as we live in one namespace.

I don't understand the remark about Cache being more than what a cache should 
be: unless it is limited in some way, which any cache should be, you could just 
as well use a Dictionary. The same argument can be made about the factory 
concept.

Sven


Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Esteban A. Maringolo
2014-04-08 19:04 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:

 Argh, yeah, another namespace problem. Sorry you had to run into that.

Don't sorry. It was just a matter of trying to load it.

 I do wonder though: is there no warning when you are (about to) overwrite an 
 existing class ?

Apparently not :D

 And I would never name any class of mine anything general like Cache or 
 Record without a namespace prefix.

The main code trunk is in VisualWorks, which uses namespaces extensively.
So migrating to Pharo/Squeak with an added prefix is not an option, or
requires a lot of rewrites during the fileout.

 There should indeed be a CI job, I thought there was talk about a DBX one, 
 but I can't find it.

I haven't seen it either.
From my standpoint GLORP is abandoned in the Pharo realm.
There are some people, like me, that still use it, but no one maintains it.
It worries me that not a single person ran into this issue before,
during the whole testing of Pharo 3. Well... I am now, but I'd expect
more people using GLORP.


Esteban A. Maringolo



Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe

On 09 Apr 2014, at 00:16, Esteban A. Maringolo emaring...@gmail.com wrote:

 From my standpoint GLORP is abandoned in the Pharo realm.
 There are some people, like me, that still use it, but no one maintains it.
 It worries me that not a single person ran into this issue before,
 during the whole testing of Pharo 3. Well... I am now, but I'd expect
 more people using GLORP.

No, it is not abandoned. See

 http://dbxtalk.smallworks.com.ar
 http://forum.world.st/dbxtalk-working-on-pharo-3-0-td4743313.html

Cache was added recently to Pharo 3.

But your remarks about porting and namespaces is correct. Maintaining something 
across multiple Smalltalk implementations is very hard.

Sven


Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Stephan Eggermont
There are ci jobs at ci.inria.fr/dbxtalk
I’ve started fixing one of them
https://ci.inria.fr/dbxtalk/job/DBXTalkDriver-BleedingEdge/
I don’t have commit rights
 
The easiest way to make sure glorp keeps working is
to create  pharo3 (and soon 4) builds for a configuration 
of all the open source you use.



ConfigurationOfOpenDBXDriver-StephanEggermont.29.mcz
Description: Binary data


Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Esteban A. Maringolo
2014-04-08 19:31 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:

 On 09 Apr 2014, at 00:16, Esteban A. Maringolo emaring...@gmail.com wrote:

 From my standpoint GLORP is abandoned in the Pharo realm.
 There are some people, like me, that still use it, but no one maintains it.
 It worries me that not a single person ran into this issue before,
 during the whole testing of Pharo 3. Well... I am now, but I'd expect
 more people using GLORP.

 No, it is not abandoned. See
  http://dbxtalk.smallworks.com.ar
  http://forum.world.st/dbxtalk-working-on-pharo-3-0-td4743313.html

DBXTalk is the driver layer, which is not GLORP per se (I know you know this).
In the mentioned thread Tudor talks about loading DBXTalk [1], not GlorpDBX.
Otherwise he would had run into the Cache name collision.

GLORP port is outdated by two years, Alan Knight confirmed it, and
Mariano told me porting it from VW is not as straightforward as you
would expect (name clashing aside), and the reason for GlorpDBX (which
only exists in Pharo/Squeak AFAIK) is to decouple VW's GLORP from
PostgreSQL (which is tightly bound).

 But your remarks about porting and namespaces is correct.
 Maintaining something across multiple Smalltalk implementations is very hard.

If not impossible ;-)

Thanks for your support.

Esteban A. Maringolo


[1] I tested the load of DBXTalk in a vanilla 3.0 image using:
Gofer new
  smalltalkhubUser: 'DBXTalk' project: 'DBXTalkDriver';
  package: 'ConfigurationOfOpenDBXDriver';
  load.
#ConfigurationOfOpenDBXDriver asClass loadBleedingEdge.

And got he following error:
 'No version found for ''1.3.1'' of ConfigurationOfTalkFFI because:
Version ''1.3.1'' is not defined in ConfigurationOfTalkFFI. Possible
versions include: #(#bleedingEdge #development ''1.0-baseline''
''1.0'' ''1.1-baseline'' ''1.1'' ''1.2-baseline'' ''1.2''
''1.3-baseline'' ''1.3'' ''1.4'' ''1.5'')'



Re: [Pharo-users] Error: No factory specified

2014-04-08 Thread Sven Van Caekenberghe

On 09 Apr 2014, at 03:31, Esteban A. Maringolo emaring...@gmail.com wrote:

 OpenDBX aside (which I don't plan to use), I don't see how this will
 get GLORP running :)

It is maintained as part of DBXTalk, as far as I understand

  http://www.smalltalkhub.com/#!/~DBXTalk/Glorp/

and yes that is a bit confusing, but you can't do much with Glorp unless you 
can talk to a database, so it makes some sense.

 Should I rename Pharo's Cache to something else, like PharoCache or
 AbstractCache?

Well, to get the code to load, that would be a dirty hack that could work.

But IMO we should rename Glorp's Cache to InstancesCache, it is only referred 
to via CacheManager.

Sven