Re: [Pharo-dev] Problem with Zinc and HTTPS

2013-07-02 Thread Sven Van Caekenberghe

On 02 Jul 2013, at 01:16, Mariano Martinez Peck marianop...@gmail.com wrote:

 Sorry, I express myself wrong. Indeed, from the server side (the image 
 running shub), I do not use Zodiac at all. But in another image (where I am 
 having the problem), if I try to connect to the Monticello repository (served 
 by HTTPS by nginx in the other server) I do have the problem and in this case 
 I am trying to communicate via HTTPS from Pharo. Wouldn't be using Zodiac 
 here? 

Ah, I misunderstood.

Yes, to access an HTTPS based repository, you need Zodiac.
If all Zn+Zdc tests are green, that means you are good.

I see that you get a ConnectionTimedOut error while connecting, that's like the 
very first step ;-)

What I would do is: make sure you can access your HTTPS repo in other ways, 
using a regular browser and/or curl. You know, MC repo serving is just plain 
HTTP(S) with basic authentication: you should be able to list a repo or 
download a version using any other means.

If that works, try to do the same using ZnClient, like this:

ZnClient new
username: 'marianopech' password: 'secret';
get: 
'http://www.smalltalkhub.com/mc/SvenVanCaekenberghe/STON/main/Ston-Core-SvenVanCaekenberghe.35.mcz'.

Good luck !

Sven

PS: I also see you are using a numeric IP address, not a DNS name. That won't 
work with virtual hosts AFAIK.


--
Sven Van Caekenberghe
Proudly supporting Pharo
http://pharo.org
http://association.pharo.org
http://consortium.pharo.org







[Pharo-dev] FileSystem Permissions

2013-07-02 Thread Goubier Thierry

Hi all,

it seems FileSystem permissions are not working at all like intended in 
Linux, and it's the case in both 2.0 and 3.0 (but it 3.0 it has the 
elegance of rendering the file browser and all file dialogs unusable :().


https://pharo.fogbugz.com/f/cases/11102/FileSystemError-Path-root

(an entry like drwx-- 10 root root 4096 mai   15 13:26 /root is 
readable according to FileReference :()


Is there any point in the vm to do a fstat/stat ?

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Sven Van Caekenberghe
Hi Thierry,

On 02 Jul 2013, at 11:34, Goubier Thierry thierry.goub...@cea.fr wrote:

 Hi all,
 
 it seems FileSystem permissions are not working at all like intended in 
 Linux, and it's the case in both 2.0 and 3.0 (but it 3.0 it has the elegance 
 of rendering the file browser and all file dialogs unusable :().
 
 https://pharo.fogbugz.com/f/cases/11102/FileSystemError-Path-root
 
 (an entry like drwx-- 10 root root 4096 mai   15 13:26 /root is readable 
 according to FileReference :()
 
 Is there any point in the vm to do a fstat/stat ?

I think the basic information is there, see 
FileSystemDirectoryEntryposixPermissions. It seems that the way that 
information is subsequently handled in Pharo is wrong, or at least way too 
simple. The question is of course, what is a good cross platform API. Mac OS X 
 Linux will be quite similar, but Windows ?

Sven

 Thierry
 -- 
 Thierry Goubier
 CEA list
 Laboratoire des Fondations des Systèmes Temps Réel Embarqués
 91191 Gif sur Yvette Cedex
 France
 Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
 




Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Camillo Bruni

On 2013-07-02, at 11:44, Sven Van Caekenberghe s...@stfx.eu wrote:

 Hi Thierry,
 
 On 02 Jul 2013, at 11:34, Goubier Thierry thierry.goub...@cea.fr wrote:
 
 Hi all,
 
 it seems FileSystem permissions are not working at all like intended in 
 Linux, and it's the case in both 2.0 and 3.0 (but it 3.0 it has the elegance 
 of rendering the file browser and all file dialogs unusable :().
 
 https://pharo.fogbugz.com/f/cases/11102/FileSystemError-Path-root
 
 (an entry like drwx-- 10 root root 4096 mai   15 13:26 /root is readable 
 according to FileReference :()
 
 Is there any point in the vm to do a fstat/stat ?
 
 I think the basic information is there, see 
 FileSystemDirectoryEntryposixPermissions. It seems that the way that 
 information is subsequently handled in Pharo is wrong, or at least way too 
 simple. The question is of course, what is a good cross platform API. Mac OS 
 X  Linux will be quite similar, but Windows ?


The problem is deeper that the mere permissions. The permissions only look at 
the POSIX permissions returned by fstat/stat, but it does not respect the 
current user.

The problem you find is rather that all the other FS primitives do not know how 
to deal with permissions.
The following code yields an error since the primitive signals a Directory Not 
Found which should not happen:

(FileSystem root / 'lost+found') exists
ifTrue: [ (FileSystem root / 'lost+found') hasChildren ].




[Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread no-reply
https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=linux-stable-worker/293/

3 regressions found.
  Tests.CodeImport.ChunkImportTestCase.testImportAClassCategory
  ToolsTest.Debugger.DynamicMessageImplementorTest.testGenerateGetter
  ToolsTest.Debugger.DynamicMessageImplementorTest.testGenerateSetter



[Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread no-reply
https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=mac/293/

2 regressions found.
  ToolsTest.Debugger.DynamicMessageImplementorTest.testGenerateGetter
  ToolsTest.Debugger.DynamicMessageImplementorTest.testGenerateSetter



Re: [Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread Sven Van Caekenberghe

On 02 Jul 2013, at 15:07, no-re...@ci.inria.fr wrote:

 https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=linux-stable-worker/293/
 
 3 regressions found.
  Tests.CodeImport.ChunkImportTestCase.testImportAClassCategory
  ToolsTest.Debugger.DynamicMessageImplementorTest.testGenerateGetter
  ToolsTest.Debugger.DynamicMessageImplementorTest.testGenerateSetter

It is a pity the release tests mostly fail during a Jenkins build, while they 
are all passing on a delivered image.

BTW, the process list is now clean on 3.0, great. Can make the one on 2.0 clean 
as well ?

Sven


[Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread no-reply
https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=win/293/

3 regressions found.
  Tests.CodeImport.ChunkImportTestCase.testImportAClassCategory
  ToolsTest.Debugger.DynamicMessageImplementorTest.testGenerateGetter
  ToolsTest.Debugger.DynamicMessageImplementorTest.testGenerateSetter



[Pharo-dev] [update 3.0] #30238

2013-07-02 Thread Esteban Lorenzano
30238
-

10220 Debugger-generated accessors send #shouldBeImplemented
https://pharo.fogbugz.com/f/cases/10220

10967 flattened added to collection
https://pharo.fogbugz.com/f/cases/10967

7096 RectangleMorph is empty -- subclasses should use superclass
https://pharo.fogbugz.com/f/cases/7096

... and the new WorldMorph working properly :)


Diff information:
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Tools-EstebanLorenzano.1165.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Polymorph-Widgets-EstebanLorenzano.854.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Morphic-Base-EstebanLorenzano.37.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/CollectionsTests-EstebanLorenzano.615.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Collections-Abstract-EstebanLorenzano.212.diff




[Pharo-dev] [update 3.0] #30239

2013-07-02 Thread Marcus Denker
30239
-

10829 ConfigurationOfSmartSuggestions should not be in the image
https://pharo.fogbugz.com/f/cases/10829

11093 remove empty package HistoryCollection
https://pharo.fogbugz.com/f/cases/11093

11098 notifyRepackage:method:oldProtocol:newProtocol: is uncategorized
https://pharo.fogbugz.com/f/cases/11098

11104 Remove useless menu entry
https://pharo.fogbugz.com/f/cases/11104


Diff information:
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Nautilus-MarcusDenker.487.diff




Re: [Pharo-dev] [update 3.0] #30239

2013-07-02 Thread Marcus Denker

On Jul 2, 2013, at 1:37 PM, Levente Uzonyi le...@elte.hu wrote:

 On Tue, 2 Jul 2013, Marcus Denker wrote:
 
 30239
 -
 
 10829 ConfigurationOfSmartSuggestions should not be in the image
  https://pharo.fogbugz.com/f/cases/10829
 
 11093 remove empty package HistoryCollection
  https://pharo.fogbugz.com/f/cases/11093
 
 11098 notifyRepackage:method:oldProtocol:newProtocol: is uncategorized
  https://pharo.fogbugz.com/f/cases/11098
 
 11104 Remove useless menu entry
  https://pharo.fogbugz.com/f/cases/11104
 
 
 Diff information:
 http://smalltalkhub.com/mc/Pharo/Pharo30/main/Nautilus-MarcusDenker.487.diff
 
 Anyone ever check these diffs? I see the following:
 
Yes, this is a known bug that needs to be fixed.

Marcus




[Pharo-dev] anonymous issue report

2013-07-02 Thread Camillo Bruni
Who reported UndefinedObject should implement #allSuperclassesDo: ?
Could you please give an example on how to reproduce this?



Re: [Pharo-dev] [ANN] SS3 the canary site

2013-07-02 Thread Tobias Pape
Hi Nico

Am 01.07.2013 um 09:47 schrieb Nicolas Petton petton.nico...@gmail.com:

 Thanks Tobias for the update!
 
 This version looks good, and I think moving to bootstrap was a good move :)
 
 About the competition, I don't mind it. About working on SmalltalkHub with 
 me, I sure would be glad, but I also completely understand your point.
 One thing we could do though is maybe share experience (feel free to email 
 me) and discuss about both platforms? It can always be positive.

Yes, this seems a good point.

Best
-Tobias





Re: [Pharo-dev] [Pharo-project] Understanding NBOpenGL

2013-07-02 Thread kilon
And I love pharo and what you guys have created , a lot of fun and very
productive. So yes I will definitely help you out in documenting NB. 

Actually my idea was not to publish in a blog. I hate blogs though I have
one I just find it very non flexible so I was thinking instead wikibooks . 

http://en.wikibooks.org/wiki/Help:Contributing
http://en.wikibooks.org/wiki/Help:Contributing  

I was thinking moving the entire nativeboost docs (pdf/latex) to wiki books
so I make it much easier for everyone can contribute. Wikibooks uses
Mediawiki which I am familiar with from the blender wiki when I was making
my python book 

http://wiki.blender.org/index.php/User:Kilon/Python_book_of_magic
http://wiki.blender.org/index.php/User:Kilon/Python_book_of_magic  

Mediawiki is nowhere near as powerful as latex but its way easier to learn
and it literally takes minutes to learn the syntax and you dont need a
special editor you can do it online directly with minimum syntax. This way
everyone can contribute , it only needs an account.  



Stéphane Ducasse wrote
 I love your questions!
 When you will get all your anwsers you have to write a blog about it so
 that we can use that in 
 a chapter so that every body can know how to do it.
 
 Just no time to think right now :( sadly
 
 Stef
 
 On Jul 1, 2013, at 8:40 PM, kilon lt;

 thekilon@.co

 gt; wrote:
 
 Thanks Igor , yes I was aware of String Cr because I have done some
 googling
 around and it did find information on the subject. Apparently it failed
 because I had an error in my source. 
 
 So for our next challenge is learning how to fetch data that a pointer
 points to. 
 
 in this case I have an array that contains my vertex positions , called
 vertexPositions  
 
 vertexPositions
 the positions of vertices to be passed to opengl
 
  ^ #( 0.75  0.75 0.0 1.0 
  0.75  -0.75 0.0 1.0
   -0.75 -0.75 0.0 1.0 )
 
 so far so good
 
 so I create a pointer for that array
 
 vptrsize := (NBExternalType sizeOf: 'float')* self vertexPositions size.
 
 and then take that pointer and insert in each position the individual
 values
 from vertexPositions
 
 vertexPositions withIndexDo: [:each :i |
 using nbUInt32AtOffset because we know pointer is 4 bytes :) 
  vpos nbFloat32AtOffset: (i-1)*(NBExternalType sizeOf: 'float')
 put:
 each value.
  Transcript show: ' I am putting to vpos in index: '; show: i-1; show:'
 value: '; show: each value; cr. 
  ].
 
 so far so good.
 
 now the tricky part is that I have a function that expects that Array ,
 not
 the smalltalk version but the C version we just created
 
 gl bufferData_target: GL_ARRAY_BUFFER size: vptrsize  data: ... 
 usage:
 GL_STATIC_DRAW.
 
 where you see the dots is where I should pass the data, in this case the
 C
 array
 
 I could do a vpo nbFloat32AtOffset: but that will return me only the
 individual value at the specific point (index) of the array, while I want
 to
 pass the entire array. 
 
 So how I do that ?
 
 I explored NBExternalAdress and I cant find something that would return
 an
 array. Am I missing something obvious here ? 
 
 NBExternalAdress value , returns the number of the address and not that
 data
 contained in that address.
 
 I also see a  NBExternalArray but I am not sure if it is what I should be
 using .  
 
 Igor Stasenko wrote
 On 30 June 2013 21:11, kilon lt;
 
 thekilon@.co
 
 gt; wrote:
 I am not going to post my code here cause it has become too big , you
 can
 find it here
 
 http://www.smalltalkhub.com/#!/~kilon/GLTutorial
 lt;http://www.smalltalkhub.com/#!/~kilon/GLTutorialgt;
 
 I tried adding newlines with String cr to my shaders strings, but
 apparently
 opengl is not convinced. It looks like smalltalk cr is not converted to
 C
 \n newlines. So how I do that ?
 
 
 simply replace all occurences of
 Character cr
 with
 Character lf
 (or crlf, if it wants that)
 
 --
 View this message in context:
 http://forum.world.st/Understanding-NBOpenGL-tp4686514p4696465.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.
 
 
 
 
 -- 
 Best regards,
 Igor Stasenko.
 
 
 
 
 
 --
 View this message in context:
 http://forum.world.st/Understanding-NBOpenGL-tp4686514p469.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.






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



Re: [Pharo-dev] anonymous issue report

2013-07-02 Thread Max Leske
I didn't report it but here's a usecase:

suppose you have a collection of objects and they might include nil. Now, if 
you want to do this:

myCollection do: [ :element | element class allSubclassesDo: #value ] ]

then you'll get an exception when element is nil.


superclass == nil
On 02.07.2013, at 14:23, Camillo Bruni camillobr...@gmail.com wrote:

 Who reported UndefinedObject should implement #allSuperclassesDo: ?
 Could you please give an example on how to reproduce this?
 




Re: [Pharo-dev] [Pharo-project] Understanding NBOpenGL

2013-07-02 Thread Camillo Bruni
I like to see people contributing :), maybe you could do some contribution
on the code-side?

I personally consider well written, executable examples more valuable than 
written documentation outside the image. And I think NativeBoost could 
benefit from some in-image documentation.


On 2013-07-02, at 14:39, kilon theki...@yahoo.co.uk wrote:
 And I love pharo and what you guys have created , a lot of fun and very
 productive. So yes I will definitely help you out in documenting NB. 
 
 Actually my idea was not to publish in a blog. I hate blogs though I have
 one I just find it very non flexible so I was thinking instead wikibooks . 
 
 http://en.wikibooks.org/wiki/Help:Contributing
 http://en.wikibooks.org/wiki/Help:Contributing  
 
 I was thinking moving the entire nativeboost docs (pdf/latex) to wiki books
 so I make it much easier for everyone can contribute. Wikibooks uses
 Mediawiki which I am familiar with from the blender wiki when I was making
 my python book 
 
 http://wiki.blender.org/index.php/User:Kilon/Python_book_of_magic
 http://wiki.blender.org/index.php/User:Kilon/Python_book_of_magic  
 
 Mediawiki is nowhere near as powerful as latex but its way easier to learn
 and it literally takes minutes to learn the syntax and you dont need a
 special editor you can do it online directly with minimum syntax. This way
 everyone can contribute , it only needs an account.  
 
 
 
 Stéphane Ducasse wrote
 I love your questions!
 When you will get all your anwsers you have to write a blog about it so
 that we can use that in 
 a chapter so that every body can know how to do it.
 
 Just no time to think right now :( sadly
 
 Stef
 
 On Jul 1, 2013, at 8:40 PM, kilon lt;
 
 thekilon@.co
 
 gt; wrote:
 
 Thanks Igor , yes I was aware of String Cr because I have done some
 googling
 around and it did find information on the subject. Apparently it failed
 because I had an error in my source. 
 
 So for our next challenge is learning how to fetch data that a pointer
 points to. 
 
 in this case I have an array that contains my vertex positions , called
 vertexPositions  
 
 vertexPositions
 the positions of vertices to be passed to opengl
 
 ^ #( 0.75  0.75 0.0 1.0 
 0.75  -0.75 0.0 1.0
  -0.75 -0.75 0.0 1.0 )
 
 so far so good
 
 so I create a pointer for that array
 
 vptrsize := (NBExternalType sizeOf: 'float')* self vertexPositions size.
 
 and then take that pointer and insert in each position the individual
 values
 from vertexPositions
 
 vertexPositions withIndexDo: [:each :i |
using nbUInt32AtOffset because we know pointer is 4 bytes :) 
 vpos nbFloat32AtOffset: (i-1)*(NBExternalType sizeOf: 'float')
 put:
 each value.
 Transcript show: ' I am putting to vpos in index: '; show: i-1; show:'
 value: '; show: each value; cr. 
 ].
 
 so far so good.
 
 now the tricky part is that I have a function that expects that Array ,
 not
 the smalltalk version but the C version we just created
 
 gl bufferData_target: GL_ARRAY_BUFFER size: vptrsize  data: ... 
 usage:
 GL_STATIC_DRAW.
 
 where you see the dots is where I should pass the data, in this case the
 C
 array
 
 I could do a vpo nbFloat32AtOffset: but that will return me only the
 individual value at the specific point (index) of the array, while I want
 to
 pass the entire array. 
 
 So how I do that ?
 
 I explored NBExternalAdress and I cant find something that would return
 an
 array. Am I missing something obvious here ? 
 
 NBExternalAdress value , returns the number of the address and not that
 data
 contained in that address.
 
 I also see a  NBExternalArray but I am not sure if it is what I should be
 using .  
 
 Igor Stasenko wrote
 On 30 June 2013 21:11, kilon lt;
 
 thekilon@.co
 
 gt; wrote:
 I am not going to post my code here cause it has become too big , you
 can
 find it here
 
 http://www.smalltalkhub.com/#!/~kilon/GLTutorial
 lt;http://www.smalltalkhub.com/#!/~kilon/GLTutorialgt;
 
 I tried adding newlines with String cr to my shaders strings, but
 apparently
 opengl is not convinced. It looks like smalltalk cr is not converted to
 C
 \n newlines. So how I do that ?
 
 
 simply replace all occurences of
 Character cr
 with
 Character lf
 (or crlf, if it wants that)
 
 --
 View this message in context:
 http://forum.world.st/Understanding-NBOpenGL-tp4686514p4696465.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.
 
 
 
 
 -- 
 Best regards,
 Igor Stasenko.
 
 
 
 
 
 --
 View this message in context:
 http://forum.world.st/Understanding-NBOpenGL-tp4686514p469.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.
 
 
 
 
 
 
 --
 View this message in context: 
 http://forum.world.st/Understanding-NBOpenGL-tp4686514p4696807.html
 Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
 




Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Goubier Thierry



Le 02/07/2013 11:44, Sven Van Caekenberghe a écrit :

Hi Thierry,

On 02 Jul 2013, at 11:34, Goubier Thierry thierry.goub...@cea.fr wrote:


Hi all,

it seems FileSystem permissions are not working at all like intended in Linux, 
and it's the case in both 2.0 and 3.0 (but it 3.0 it has the elegance of 
rendering the file browser and all file dialogs unusable :().

https://pharo.fogbugz.com/f/cases/11102/FileSystemError-Path-root

(an entry like drwx-- 10 root root 4096 mai   15 13:26 /root is readable 
according to FileReference :()

Is there any point in the vm to do a fstat/stat ?


I think the basic information is there, see 
FileSystemDirectoryEntryposixPermissions. It seems that the way that information 
is subsequently handled in Pharo is wrong, or at least way too simple. The question is of 
course, what is a good cross platform API. Mac OS X  Linux will be quite similar, 
but Windows ?


No, it's not. There are no primitives I could see in FilePlugin (at 
least the ones used) to write correct permissions in Pharo... In short, 
no isReadable, isWriteable can be made correct in Pharo at the moment.


I wrote test code expecting this to work :(

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Camillo Bruni
 
 Le 02/07/2013 11:44, Sven Van Caekenberghe a écrit :
 Hi Thierry,
 
 On 02 Jul 2013, at 11:34, Goubier Thierry thierry.goub...@cea.fr wrote:
 
 Hi all,
 
 it seems FileSystem permissions are not working at all like intended in 
 Linux, and it's the case in both 2.0 and 3.0 (but it 3.0 it has the 
 elegance of rendering the file browser and all file dialogs unusable :().
 
 https://pharo.fogbugz.com/f/cases/11102/FileSystemError-Path-root
 
 (an entry like drwx-- 10 root root 4096 mai   15 13:26 /root is 
 readable according to FileReference :()
 
 Is there any point in the vm to do a fstat/stat ?
 
 I think the basic information is there, see 
 FileSystemDirectoryEntryposixPermissions. It seems that the way that 
 information is subsequently handled in Pharo is wrong, or at least way too 
 simple. The question is of course, what is a good cross platform API. Mac OS 
 X  Linux will be quite similar, but Windows ?
 
 No, it's not. There are no primitives I could see in FilePlugin (at least the 
 ones used) to write correct permissions in Pharo... In short, no isReadable, 
 isWriteable can be made correct in Pharo at the moment.
 
 I wrote test code expecting this to work :(


nope there is indeed no code for this. 
We modified the VM to support the permission reading, but we didn't add support 
for writing it.

Maybe this is again a nice usecase for NativeBoost?


Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Goubier Thierry



Le 02/07/2013 12:48, Camillo Bruni a écrit :


On 2013-07-02, at 11:44, Sven Van Caekenberghe s...@stfx.eu wrote:


Hi Thierry,

On 02 Jul 2013, at 11:34, Goubier Thierry thierry.goub...@cea.fr wrote:


Hi all,

it seems FileSystem permissions are not working at all like intended in Linux, 
and it's the case in both 2.0 and 3.0 (but it 3.0 it has the elegance of 
rendering the file browser and all file dialogs unusable :().

https://pharo.fogbugz.com/f/cases/11102/FileSystemError-Path-root

(an entry like drwx-- 10 root root 4096 mai   15 13:26 /root is readable 
according to FileReference :()

Is there any point in the vm to do a fstat/stat ?


I think the basic information is there, see 
FileSystemDirectoryEntryposixPermissions. It seems that the way that information 
is subsequently handled in Pharo is wrong, or at least way too simple. The question is of 
course, what is a good cross platform API. Mac OS X  Linux will be quite similar, 
but Windows ?



The problem is deeper that the mere permissions. The permissions only look at 
the POSIX permissions returned by fstat/stat, but it does not respect the 
current user.


Yes, it's something like that.


The problem you find is rather that all the other FS primitives do not know how 
to deal with permissions.
The following code yields an error since the primitive signals a Directory Not 
Found which should not happen:

(FileSystem root / 'lost+found') exists
 ifTrue: [ (FileSystem root / 'lost+found') hasChildren ].


No, they do work, but the base permission information (as far as I could 
see, it's only retrieved with getting directory entries) is unusable. 
It's the overall POSIX data, but without the ownership and anyway to 
correlate pharo ownership and file ownership.


Anybody to explain me how to write NB code to call directly stat/fstat? 
I find this failure to be really embarassing for Pharo.


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



[Pharo-dev] WorldMorph issue

2013-07-02 Thread Benjamin
onPrimitiveError: do a

World install
And this lead to an issue since some submorphs do not belong to Wolrd submorphs 
anymore

Ben



Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Camillo Bruni
 
 The problem is deeper that the mere permissions. The permissions only look 
 at the POSIX permissions returned by fstat/stat, but it does not respect the 
 current user.
 
 Yes, it's something like that.
 
 The problem you find is rather that all the other FS primitives do not know 
 how to deal with permissions.
 The following code yields an error since the primitive signals a Directory 
 Not Found which should not happen:
 
 (FileSystem root / 'lost+found') exists
 ifTrue: [ (FileSystem root / 'lost+found') hasChildren ].
 
 No, they do work, but the base permission information (as far as I could see, 
 it's only retrieved with getting directory entries) is unusable. It's the 
 overall POSIX data, but without the ownership and anyway to correlate pharo 
 ownership and file ownership.
 
 Anybody to explain me how to write NB code to call directly stat/fstat? I 
 find this failure to be really embarassing for Pharo.


be lucky that there even IS support for permissions ;), but yeah for me this is 
also hard to understand
that for years there hasn't been support for this :/


Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Goubier Thierry



Le 02/07/2013 15:08, Camillo Bruni a écrit :


The problem is deeper that the mere permissions. The permissions only look at 
the POSIX permissions returned by fstat/stat, but it does not respect the 
current user.


Yes, it's something like that.


The problem you find is rather that all the other FS primitives do not know how 
to deal with permissions.
The following code yields an error since the primitive signals a Directory Not 
Found which should not happen:

(FileSystem root / 'lost+found') exists
 ifTrue: [ (FileSystem root / 'lost+found') hasChildren ].


No, they do work, but the base permission information (as far as I could see, 
it's only retrieved with getting directory entries) is unusable. It's the 
overall POSIX data, but without the ownership and anyway to correlate pharo 
ownership and file ownership.

Anybody to explain me how to write NB code to call directly stat/fstat? I find 
this failure to be really embarassing for Pharo.



be lucky that there even IS support for permissions ;), but yeah for me this is 
also hard to understand
that for years there hasn't been support for this :/


It's as if there are none, at the moment. It only works on files you own :)

I could write OSProcess-based code, I'm becoming good at that ;)

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Camillo Bruni
On 2013-07-02, at 15:11, Goubier Thierry thierry.goub...@cea.fr wrote:
 Le 02/07/2013 15:02, Camillo Bruni a écrit :
 
 Le 02/07/2013 11:44, Sven Van Caekenberghe a écrit :
 Hi Thierry,
 
 On 02 Jul 2013, at 11:34, Goubier Thierry thierry.goub...@cea.fr wrote:
 
 Hi all,
 
 it seems FileSystem permissions are not working at all like intended in 
 Linux, and it's the case in both 2.0 and 3.0 (but it 3.0 it has the 
 elegance of rendering the file browser and all file dialogs unusable :().
 
 https://pharo.fogbugz.com/f/cases/11102/FileSystemError-Path-root
 
 (an entry like drwx-- 10 root root 4096 mai   15 13:26 /root is 
 readable according to FileReference :()
 
 Is there any point in the vm to do a fstat/stat ?
 
 I think the basic information is there, see 
 FileSystemDirectoryEntryposixPermissions. It seems that the way that 
 information is subsequently handled in Pharo is wrong, or at least way too 
 simple. The question is of course, what is a good cross platform API. Mac 
 OS X  Linux will be quite similar, but Windows ?
 
 No, it's not. There are no primitives I could see in FilePlugin (at least 
 the ones used) to write correct permissions in Pharo... In short, no 
 isReadable, isWriteable can be made correct in Pharo at the moment.
 
 I wrote test code expecting this to work :(
 
 
 nope there is indeed no code for this.
 We modified the VM to support the permission reading, but we didn't add 
 support for writing it.
 
 Maybe this is again a nice usecase for NativeBoost?
 
 I'm ready to try. Anybody to explain me how to use NativeBoost for that?

You can check the OSEnvironment classes, they use getenv / setenv to accomplish 
simple callouts.

But I think fstat is more complex than that since it returns a struct and pass 
in 
the proper file descriptors :/...

As an immediate ver short term solution under linux I suggest using OSProcess + 
a chmod call :(


Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Goubier Thierry



Le 02/07/2013 15:12, Camillo Bruni a écrit :

On 2013-07-02, at 15:11, Goubier Thierry thierry.goub...@cea.fr wrote:

Le 02/07/2013 15:02, Camillo Bruni a écrit :



Le 02/07/2013 11:44, Sven Van Caekenberghe a écrit :

Hi Thierry,

On 02 Jul 2013, at 11:34, Goubier Thierry thierry.goub...@cea.fr wrote:


Hi all,

it seems FileSystem permissions are not working at all like intended in Linux, 
and it's the case in both 2.0 and 3.0 (but it 3.0 it has the elegance of 
rendering the file browser and all file dialogs unusable :().

https://pharo.fogbugz.com/f/cases/11102/FileSystemError-Path-root

(an entry like drwx-- 10 root root 4096 mai   15 13:26 /root is readable 
according to FileReference :()

Is there any point in the vm to do a fstat/stat ?


I think the basic information is there, see 
FileSystemDirectoryEntryposixPermissions. It seems that the way that information 
is subsequently handled in Pharo is wrong, or at least way too simple. The question is of 
course, what is a good cross platform API. Mac OS X  Linux will be quite similar, 
but Windows ?


No, it's not. There are no primitives I could see in FilePlugin (at least the 
ones used) to write correct permissions in Pharo... In short, no isReadable, 
isWriteable can be made correct in Pharo at the moment.

I wrote test code expecting this to work :(



nope there is indeed no code for this.
We modified the VM to support the permission reading, but we didn't add support 
for writing it.

Maybe this is again a nice usecase for NativeBoost?


I'm ready to try. Anybody to explain me how to use NativeBoost for that?


You can check the OSEnvironment classes, they use getenv / setenv to accomplish
simple callouts.


Ok. Thanks.


But I think fstat is more complex than that since it returns a struct and pass 
in
the proper file descriptors :/...

As an immediate ver short term solution under linux I suggest using OSProcess + 
a chmod call :(


No, what I really want is to get permission reading right... At the 
moment I can't even add a file based repository to a Pharo 3.0 image :(:(


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



[Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread no-reply
https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=linux-stable-worker/295/

3 regressions found.
  FuelTests.FLGlobalTraitSerializationTest.testNotFoundAfterRename
  
Tests.Traits.TraitPureBehaviorTest.testOwnMethodsTakePrecedenceOverTraitsMethods
  
Tests.Traits.TraitPureBehaviorTest.testPropagationWhenTraitCompositionModifications



[Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread no-reply
https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=mac/295/

3 regressions found.
  FuelTests.FLGlobalTraitSerializationTest.testNotFoundAfterRename
  
Tests.Traits.TraitPureBehaviorTest.testOwnMethodsTakePrecedenceOverTraitsMethods
  
Tests.Traits.TraitPureBehaviorTest.testPropagationWhenTraitCompositionModifications



[Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread no-reply
https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=win/295/

3 regressions found.
  FuelTests.FLGlobalTraitSerializationTest.testNotFoundAfterRename
  
Tests.Traits.TraitPureBehaviorTest.testOwnMethodsTakePrecedenceOverTraitsMethods
  
Tests.Traits.TraitPureBehaviorTest.testPropagationWhenTraitCompositionModifications



Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Goubier Thierry

I think I have what is needed.

ACCESS(2)  Linux Programmer's Manual 
ACCESS(2)


NAME
   access - check real user's permissions for a file

SYNOPSIS
   #include unistd.h

   int access(const char *pathname, int mode);

Thierry

Le 02/07/2013 15:12, Camillo Bruni a écrit :

On 2013-07-02, at 15:11, Goubier Thierry thierry.goub...@cea.fr wrote:

Le 02/07/2013 15:02, Camillo Bruni a écrit :



Le 02/07/2013 11:44, Sven Van Caekenberghe a écrit :

Hi Thierry,

On 02 Jul 2013, at 11:34, Goubier Thierry thierry.goub...@cea.fr wrote:


Hi all,

it seems FileSystem permissions are not working at all like intended in Linux, 
and it's the case in both 2.0 and 3.0 (but it 3.0 it has the elegance of 
rendering the file browser and all file dialogs unusable :().

https://pharo.fogbugz.com/f/cases/11102/FileSystemError-Path-root

(an entry like drwx-- 10 root root 4096 mai   15 13:26 /root is readable 
according to FileReference :()

Is there any point in the vm to do a fstat/stat ?


I think the basic information is there, see 
FileSystemDirectoryEntryposixPermissions. It seems that the way that information 
is subsequently handled in Pharo is wrong, or at least way too simple. The question is of 
course, what is a good cross platform API. Mac OS X  Linux will be quite similar, 
but Windows ?


No, it's not. There are no primitives I could see in FilePlugin (at least the 
ones used) to write correct permissions in Pharo... In short, no isReadable, 
isWriteable can be made correct in Pharo at the moment.

I wrote test code expecting this to work :(



nope there is indeed no code for this.
We modified the VM to support the permission reading, but we didn't add support 
for writing it.

Maybe this is again a nice usecase for NativeBoost?


I'm ready to try. Anybody to explain me how to use NativeBoost for that?


You can check the OSEnvironment classes, they use getenv / setenv to accomplish
simple callouts.

But I think fstat is more complex than that since it returns a struct and pass 
in
the proper file descriptors :/...

As an immediate ver short term solution under linux I suggest using OSProcess + 
a chmod call :(




--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



[Pharo-dev] [update 3.0] #30240

2013-07-02 Thread Esteban Lorenzano
30240
-

11010 The class Trait must use the trait TClass
https://pharo.fogbugz.com/f/cases/11010/

(pass 1)

Diff information:
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Traits-EstebanLorenzano.526.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Ring-Tests-Kernel-EstebanLorenzano.46.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Kernel-EstebanLorenzano.1510.diff




Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Camillo Bruni

On 2013-07-02, at 15:27, Goubier Thierry thierry.goub...@cea.fr wrote:

 I think I have what is needed.
 
 ACCESS(2)  Linux Programmer's Manual ACCESS(2)
 
 NAME
   access - check real user's permissions for a file
 
 SYNOPSIS
   #include unistd.h
 
   int access(const char *pathname, int mode);

that looks doable in NativeBoost :)



Re: [Pharo-dev] FileSystem Permissions

2013-07-02 Thread Goubier Thierry

Done:

SLICE-Issue-11102-FileSystemError-Path--root-ThierryGoubier.1

In http://ss3.gemstone.com/ss/PharoInbox

(It's for 2.0 at the moment. I'll try on 3.0 to port the same code).

Thierry

Le 02/07/2013 15:24, Camillo Bruni a écrit :


On 2013-07-02, at 15:27, Goubier Thierry thierry.goub...@cea.fr wrote:


I think I have what is needed.

ACCESS(2)  Linux Programmer's Manual ACCESS(2)

NAME
   access - check real user's permissions for a file

SYNOPSIS
   #include unistd.h

   int access(const char *pathname, int mode);


that looks doable in NativeBoost :)





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



[Pharo-dev] [update 3.0] #30241

2013-07-02 Thread Esteban Lorenzano
30241
-

11010 The class Trait must use the trait TClass
https://pharo.fogbugz.com/f/cases/11010/

(pass 2, one more remaining)

Diff information:
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Traits-EstebanLorenzano.527.diff
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Kernel-EstebanLorenzano.1511.diff




Re: [Pharo-dev] [PROVENANCE INTERNET] Re: FileSystem Permissions

2013-07-02 Thread Camillo Bruni

On 2013-07-02, at 16:05, Goubier Thierry thierry.goub...@cea.fr wrote:

 
 
 Le 02/07/2013 15:49, Goubier Thierry a écrit :
 Done:
 
 SLICE-Issue-11102-FileSystemError-Path--root-ThierryGoubier.1
 
 In http://ss3.gemstone.com/ss/PharoInbox
 
 (It's for 2.0 at the moment. I'll try on 3.0 to port the same code).
 
 Oh, it has a problem with utf8 :(

and most probably it won't work under OSX.

I think you have to implement these primitives on the different platform 
specific stores,
that implies a separate version for win/mac/linux


[Pharo-dev] Tudor Girba joins Pharo Board

2013-07-02 Thread Sven Van Caekenberghe
Hi,

The Pharo Board is pleased to announce that Tudor Girba has recently joined the 
Pharo Board. Among others, he will try to contribute on long term issues like 
the positioning of Pharo.

Stéphane, Marcus  Sven

http://www.pharo-project.org/about/board

--
http://pharo.org
http://association.pharo.org
http://consortium.pharo.org







Re: [Pharo-dev] [Pharo-users] Tudor Girba joins Pharo Board

2013-07-02 Thread Camillo Bruni
nice to hear! :)

On 2013-07-02, at 16:12, Sven Van Caekenberghe s...@stfx.eu wrote:

 Hi,
 
 The Pharo Board is pleased to announce that Tudor Girba has recently joined 
 the Pharo Board. Among others, he will try to contribute on long term issues 
 like the positioning of Pharo.
 
 Stéphane, Marcus  Sven
 
 http://www.pharo-project.org/about/board
 
 --
 http://pharo.org
 http://association.pharo.org
 http://consortium.pharo.org
 
 
 
 
 




[Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread no-reply
https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=mac/298/

1 regressions found.
  Tests.CodeImport.ChunkImportTestCase.testImportAClassCategory



Re: [Pharo-dev] [Pharo-project] Understanding NBOpenGL

2013-07-02 Thread kilon
Igor got you will try to avoid using #sizeOf: , even for a readability I can
replace it with a simple method returning the same thing depending in
platform.

Now because I am confused lets clarify how the whole things works because I
see many errors in my code and clearly I don't understand how Nativeboost
works.  Note I am a C noob , so excuse me if I say anything stupid here.

As far as functions call are concerned I see 3 possible scenariors 

a ) function(int var). Here the C function expects a simple variable of some
type (int in this case) according to what you told me to make such variable
I will do

var := Nativeboost allocate:( NBExternalType typeof:'int')

if I want to pass a value in that variable then I will do

var nbInt32AtOffset: 0 put: 6

will call that function with 

Object function: var

b) function(int* var) 

how I create the variable (pointer) ?

how I put value in the variable (pointer) ?

c) function( var) 

Now I assume I will create a var variable same way as (a)

var := Nativeboost allocate:( NBExternalType typeof:'int')

but how I pass the address of var to the function ?


I read the pdf of nativeboost but It did not clarify those things or simply
I did not understand. 

Thanks on the instructions about NBExternalArray. So the reason of using
this object is for convenience ?  

 
Igor Stasenko wrote
 On 1 July 2013 20:40, kilon lt;

 thekilon@.co

 gt; wrote:
 Thanks Igor , yes I was aware of String Cr because I have done some
 googling
 around and it did find information on the subject. Apparently it failed
 because I had an error in my source.

 So for our next challenge is learning how to fetch data that a pointer
 points to.

 in this case I have an array that contains my vertex positions , called
 vertexPositions

 vertexPositions
 the positions of vertices to be passed to opengl

 ^ #( 0.75  0.75 0.0 1.0
 0.75  -0.75 0.0 1.0
  -0.75 -0.75 0.0 1.0 )

 so far so good

 so I create a pointer for that array

 vptrsize := (NBExternalType sizeOf: 'float')* self vertexPositions size.

 and then take that pointer and insert in each position the individual
 values
 from vertexPositions

 vertexPositions withIndexDo: [:each :i |
using nbUInt32AtOffset because we know pointer is 4 bytes :)
 
 vpos nbFloat32AtOffset: (i-1)*(NBExternalType sizeOf:
 'float') put:
 each value.
 Transcript show: ' I am putting to vpos in index: '; show: i-1;
 show:'
 value: '; show: each value; cr.
 ].

 so far so good.

 
 just one small advice:  do not use #sizeOf: sparingly.. it parsing the
 type
 and doing full type resolution when you do that.
 you can remember the size of the type you need at boot/startup time,
 there is no chance
 it can change within same session :)
 
 but of course for demonstration purposes and readability it good.
 
 now the tricky part is that I have a function that expects that Array ,
 not
 the smalltalk version but the C version we just created

 gl bufferData_target: GL_ARRAY_BUFFER size: vptrsize  data: ... 
 usage:
 GL_STATIC_DRAW.

 where you see the dots is where I should pass the data, in this case the
 C
 array

 I could do a vpo nbFloat32AtOffset: but that will return me only the
 individual value at the specific point (index) of the array, while I want
 to
 pass the entire array.

 So how I do that ?

 I explored NBExternalAdress and I cant find something that would return
 an
 array. Am I missing something obvious here ?

 
 just pass NBExternalAdress instance as argument and you done.
 
 NBExternalAdress value , returns the number of the address and not that
 data
 contained in that address.

 I also see a  NBExternalArray but I am not sure if it is what I should be
 using .

 
 arrayClass :=  NBExternalArray ofType: 'float'.
 array := arrayClass new: 5. or externalNew:5 , if you want to
 allocate it in external memory
 
 array at: 1 put: 10.1   use just like normal Array
 
 to pass it to function use:
 
 self soemFunction: array address.
 
 Igor Stasenko wrote
 On 30 June 2013 21:11, kilon 

 thekilon@.co

  wrote:
 I am not going to post my code here cause it has become too big , you
 can
 find it here

 http://www.smalltalkhub.com/#!/~kilon/GLTutorial
 lt;http://www.smalltalkhub.com/#!/~kilon/GLTutorialgt;

 I tried adding newlines with String cr to my shaders strings, but
 apparently
 opengl is not convinced. It looks like smalltalk cr is not converted to
 C
 \n newlines. So how I do that ?


 simply replace all occurences of
 Character cr
 with
 Character lf
 (or crlf, if it wants that)

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




 --
 Best regards,
 Igor Stasenko.





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

Re: [Pharo-dev] [PROVENANCE INTERNET] Re: FileSystem Permissions

2013-07-02 Thread David T. Lewis
On Tue, Jul 02, 2013 at 04:05:18PM +0200, Camillo Bruni wrote:
 
 On 2013-07-02, at 16:05, Goubier Thierry thierry.goub...@cea.fr wrote:
 
  
  
  Le 02/07/2013 15:49, Goubier Thierry a ?crit :
  Done:
  
  SLICE-Issue-11102-FileSystemError-Path--root-ThierryGoubier.1
  
  In http://ss3.gemstone.com/ss/PharoInbox
  
  (It's for 2.0 at the moment. I'll try on 3.0 to port the same code).
  
  Oh, it has a problem with utf8 :(
 
 and most probably it won't work under OSX.
 
 I think you have to implement these primitives on the different platform 
 specific stores,
 that implies a separate version for win/mac/linux

Both the concept and the implementation will be different on Windows,
but for Unix and OS X you can use this for reference:

UnixOSProcessPluginprimitiveFileStat
Call stat(2) to obtain the file protection mask for a file. Answer 
errno on failure,
or on success answer an array with: UID with: GID with: protectionMask. 
The 
protectionMask is an Array of four integers representing the protection 
mask, or
answer errno on failure. The protection mask is four Integers, each of 
which may
be considered an octal digit (0-7), with bit values 4, 2, and 1. The 
first digit selects
the set user ID (4) and set group ID (2) and save text image (1) 
attributes. The second
digit selects permissions for the user who owns the file: read (4), 
write (2), and
execute (1); the third selects permissions for other users in the 
file's group, with
the same values; and the fourth for other users not in the file's 
group, with the
same values.

For example:

  OSProcess accessor fileStat: '/etc/hosts'

Dave




[Pharo-dev] [update 3.0] #30242

2013-07-02 Thread Esteban Lorenzano
30242
-

11010 The class Trait must use the trait TClass
https://pharo.fogbugz.com/f/cases/11010/

(pass 3, final :) )

Diff information:
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Traits-EstebanLorenzano.528.diff




Re: [Pharo-dev] [PROVENANCE INTERNET] Re: FileSystem Permissions

2013-07-02 Thread Goubier Thierry

Hi Lewis,

we have already this in a way; Pharo provides the permissions as per 
stat in fact, but probably not the uid/guid of the file which would 
allow for a real check of the permissions.


(that is, the current (wrong) situation is that isReadable returns 
ownerCanRead, which has a strong chance of being wrong for a directory 
owned by root, as you can guess)


As you can see, I was wrong in asking for stat/fstat... But thanks for 
the info.


Thierry

Le 02/07/2013 16:32, David T. Lewis a écrit :

On Tue, Jul 02, 2013 at 04:05:18PM +0200, Camillo Bruni wrote:


On 2013-07-02, at 16:05, Goubier Thierry thierry.goub...@cea.fr wrote:




Le 02/07/2013 15:49, Goubier Thierry a ?crit :

Done:

SLICE-Issue-11102-FileSystemError-Path--root-ThierryGoubier.1

In http://ss3.gemstone.com/ss/PharoInbox

(It's for 2.0 at the moment. I'll try on 3.0 to port the same code).


Oh, it has a problem with utf8 :(


and most probably it won't work under OSX.

I think you have to implement these primitives on the different platform 
specific stores,
that implies a separate version for win/mac/linux


Both the concept and the implementation will be different on Windows,
but for Unix and OS X you can use this for reference:

UnixOSProcessPluginprimitiveFileStat
Call stat(2) to obtain the file protection mask for a file. Answer 
errno on failure,
or on success answer an array with: UID with: GID with: protectionMask. 
The 
protectionMask is an Array of four integers representing the protection 
mask, or
answer errno on failure. The protection mask is four Integers, each of 
which may
be considered an octal digit (0-7), with bit values 4, 2, and 1. The 
first digit selects
the set user ID (4) and set group ID (2) and save text image (1) 
attributes. The second
digit selects permissions for the user who owns the file: read (4), 
write (2), and
execute (1); the third selects permissions for other users in the 
file's group, with
the same values; and the fourth for other users not in the file's 
group, with the
same values.

For example:

   OSProcess accessor fileStat: '/etc/hosts'

Dave






--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-dev] [Pharo-project] Understanding NBOpenGL

2013-07-02 Thread kilon
Igor one last thing I forgot to ask about b) how I pass the pointer to the
function ?

Now Camillo , If you guys care about making pharo popular , I mean really
popular you should stop caring what you want or what I want and care more
about what most people want. Democracy sucks but hey thats the way to fame.
I am sorry but I am not buying into the whole argument of self documented
code. Why ? Because I dont trust coders. 

I know however for a fact that as you said it outside documentation ,
assuming its a lengthy one, even if its a bad one,  is a much safer bet to
make sense , especially for a very big library. If the library is very small
sure you can deal with it with class comments and method comments and some
random examples. 

But take Nativeboost for example, understanding Nativeboost without outside
documentation is just , well crazy. There so many issues to discuss and many
concepts to analyse, and if we take into account that people dealing with
Nativeboost are not C coders or experienced with C coding then you will have
loads of user with a big questionmark on top of their heads. Sure those
people should go read a C code, which I do already , but still would I
complain if documentation of NB explained those things to me ? Why would I ,
I am as lazy as the next person.  

Plus I am a user why should I care about class comments and methods
comments, I dont care how the source works I only care how I can use the
library the easiest , quickest way possible. 

Should classes and methods have their comments ?  definitely !!!  This is
open source , its meant to be read , analyzed and modified. Making people
life harder is making it more close source. But I dont believe a user of a
library would prioritize class / method comments and code example over
old-way hardcore documentation. 

I seriously believe pharo would greatly benefit from a wiki and would help
taking it more seriously. Or at least an included documentation tool inside
pharo that will make documentation much easier. I mentioned wikibooks
because its based on already highly successful popular technology. If you
have better recommendation I am open to any ideas. 

So in short yes I will comment class/methods of Nativeboost and yes I will
contribute to wikibooks as well.  


Camillo Bruni-3 wrote
 I like to see people contributing :), maybe you could do some contribution
 on the code-side?
 
 I personally consider well written, executable examples more valuable than 
 written documentation outside the image. And I think NativeBoost could 
 benefit from some in-image documentation.
 
 
 On 2013-07-02, at 14:39, kilon lt;

 thekilon@.co

 gt; wrote:
 And I love pharo and what you guys have created , a lot of fun and very
 productive. So yes I will definitely help you out in documenting NB. 
 
 Actually my idea was not to publish in a blog. I hate blogs though I have
 one I just find it very non flexible so I was thinking instead wikibooks
 . 
 
 http://en.wikibooks.org/wiki/Help:Contributing
 lt;http://en.wikibooks.org/wiki/Help:Contributinggt;  
 
 I was thinking moving the entire nativeboost docs (pdf/latex) to wiki
 books
 so I make it much easier for everyone can contribute. Wikibooks uses
 Mediawiki which I am familiar with from the blender wiki when I was
 making
 my python book 
 
 http://wiki.blender.org/index.php/User:Kilon/Python_book_of_magic
 lt;http://wiki.blender.org/index.php/User:Kilon/Python_book_of_magicgt;  
 
 Mediawiki is nowhere near as powerful as latex but its way easier to
 learn
 and it literally takes minutes to learn the syntax and you dont need a
 special editor you can do it online directly with minimum syntax. This
 way
 everyone can contribute , it only needs an account.  
 
 
 
 Stéphane Ducasse wrote
 I love your questions!
 When you will get all your anwsers you have to write a blog about it so
 that we can use that in 
 a chapter so that every body can know how to do it.
 
 Just no time to think right now :( sadly
 
 Stef
 
 On Jul 1, 2013, at 8:40 PM, kilon lt;
 
 thekilon@.co
 
 gt; wrote:
 
 Thanks Igor , yes I was aware of String Cr because I have done some
 googling
 around and it did find information on the subject. Apparently it failed
 because I had an error in my source. 
 
 So for our next challenge is learning how to fetch data that a pointer
 points to. 
 
 in this case I have an array that contains my vertex positions , called
 vertexPositions  
 
 vertexPositions
 the positions of vertices to be passed to opengl
 
^ #( 0.75  0.75 0.0 1.0 
0.75  -0.75 0.0 1.0
 -0.75 -0.75 0.0 1.0 )
 
 so far so good
 
 so I create a pointer for that array
 
 vptrsize := (NBExternalType sizeOf: 'float')* self vertexPositions
 size.
 
 and then take that pointer and insert in each position the individual
 values
 from vertexPositions
 
 vertexPositions withIndexDo: [:each :i |
   using nbUInt32AtOffset because we know pointer is 4 bytes :) 
vpos nbFloat32AtOffset: (i-1)*(NBExternalType 

[Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread no-reply
https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=linux-stable-worker/304/

1 regressions found.
  Tests.CodeImport.ChunkImportTestCase.testImportAClassCategory



Re: [Pharo-dev] [PROVENANCE INTERNET] Re: FileSystem Permissions

2013-07-02 Thread David T. Lewis
Hi Thierry,

You were right in asking for stat/fstat. The unix stat() call provides the
uid and gid of the file, so those values are provided by primitiveFileStat.
In order to determine if the file is e.g. readable, you need that information
along with the file protection mask (also provided by primitiveFileStat),
and of course you need to know the uid and gid of your VM process, see
primitiveGetUid, primitiveGetGid, primitiveGetEUid and primitiveGetEGid
in UnixOSProcessPlugin.

There are also some unit tests that show how this works, for example:

  UnixProcessAccessorTestCasetestIsReadableForUserInGroup


I'm not sure if this helps with your original question, but maybe it
will help as a reference.

Dave


On Tue, Jul 02, 2013 at 04:46:25PM +0200, Goubier Thierry wrote:
 Hi Lewis,
 
 we have already this in a way; Pharo provides the permissions as per 
 stat in fact, but probably not the uid/guid of the file which would 
 allow for a real check of the permissions.
 
 (that is, the current (wrong) situation is that isReadable returns 
 ownerCanRead, which has a strong chance of being wrong for a directory 
 owned by root, as you can guess)
 
 As you can see, I was wrong in asking for stat/fstat... But thanks for 
 the info.
 
 Thierry
 
 Le 02/07/2013 16:32, David T. Lewis a ?crit :
 On Tue, Jul 02, 2013 at 04:05:18PM +0200, Camillo Bruni wrote:
 
 On 2013-07-02, at 16:05, Goubier Thierry thierry.goub...@cea.fr wrote:
 
 
 
 Le 02/07/2013 15:49, Goubier Thierry a ?crit :
 Done:
 
 SLICE-Issue-11102-FileSystemError-Path--root-ThierryGoubier.1
 
 In http://ss3.gemstone.com/ss/PharoInbox
 
 (It's for 2.0 at the moment. I'll try on 3.0 to port the same code).
 
 Oh, it has a problem with utf8 :(
 
 and most probably it won't work under OSX.
 
 I think you have to implement these primitives on the different platform 
 specific stores,
 that implies a separate version for win/mac/linux
 
 Both the concept and the implementation will be different on Windows,
 but for Unix and OS X you can use this for reference:
 
 UnixOSProcessPluginprimitiveFileStat
  Call stat(2) to obtain the file protection mask for a file. Answer 
  errno on failure,
  or on success answer an array with: UID with: GID with: 
  protectionMask. The 
  protectionMask is an Array of four integers representing the 
  protection mask, or
  answer errno on failure. The protection mask is four Integers, each 
  of which may
  be considered an octal digit (0-7), with bit values 4, 2, and 1. The 
  first digit selects
  the set user ID (4) and set group ID (2) and save text image (1) 
  attributes. The second
  digit selects permissions for the user who owns the file: read (4), 
  write (2), and
  execute (1); the third selects permissions for other users in the 
  file's group, with
  the same values; and the fourth for other users not in the file's 
  group, with the
  same values.
 
 For example:
 
OSProcess accessor fileStat: '/etc/hosts'
 
 Dave
 
 
 
 
 
 -- 
 Thierry Goubier
 CEA list
 Laboratoire des Fondations des Syst?mes Temps R?el Embarqu?s
 91191 Gif sur Yvette Cedex
 France
 Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-dev] WorldMorph issue

2013-07-02 Thread Stéphane Ducasse

https://pharo.fogbugz.com/default.asp?0

:)

On Jul 2, 2013, at 3:07 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com 
wrote:

 onPrimitiveError: do a
 
 World install
 And this lead to an issue since some submorphs do not belong to Wolrd 
 submorphs anymore
 
 Ben




[Pharo-dev] [regression reporter]regression occurred

2013-07-02 Thread no-reply
https://ci.inria.fr/pharo/job/Pharo-3.0-Update-Step-2-Validation/./label=linux-stable-worker/306/

1 regressions found.
  Tests.CodeImport.ChunkImportTestCase.testImportAClassCategory



Re: [Pharo-dev] [PROVENANCE INTERNET] Re: FileSystem Permissions

2013-07-02 Thread GOUBIER Thierry
Thanks Lewis,

my bad. Everything needed is in there, even examples :) Cool. Now, there is 
still a problem with utf8 in path names, but I suspect it's inside 
FileReference.

Thierry

De : Pharo-dev [pharo-dev-boun...@lists.pharo.org] de la part de David T. Lewis 
[le...@mail.msen.com]
Date d'envoi : mardi 2 juillet 2013 17:59
À : Pharo Development List
Objet : Re: [Pharo-dev] [PROVENANCE  INTERNET] Re:  FileSystem Permissions

Hi Thierry,

You were right in asking for stat/fstat. The unix stat() call provides the
uid and gid of the file, so those values are provided by primitiveFileStat.
In order to determine if the file is e.g. readable, you need that information
along with the file protection mask (also provided by primitiveFileStat),
and of course you need to know the uid and gid of your VM process, see
primitiveGetUid, primitiveGetGid, primitiveGetEUid and primitiveGetEGid
in UnixOSProcessPlugin.

There are also some unit tests that show how this works, for example:

  UnixProcessAccessorTestCasetestIsReadableForUserInGroup


I'm not sure if this helps with your original question, but maybe it
will help as a reference.

Dave


On Tue, Jul 02, 2013 at 04:46:25PM +0200, Goubier Thierry wrote:
 Hi Lewis,

 we have already this in a way; Pharo provides the permissions as per
 stat in fact, but probably not the uid/guid of the file which would
 allow for a real check of the permissions.

 (that is, the current (wrong) situation is that isReadable returns
 ownerCanRead, which has a strong chance of being wrong for a directory
 owned by root, as you can guess)

 As you can see, I was wrong in asking for stat/fstat... But thanks for
 the info.

 Thierry

 Le 02/07/2013 16:32, David T. Lewis a ?crit :
 On Tue, Jul 02, 2013 at 04:05:18PM +0200, Camillo Bruni wrote:
 
 On 2013-07-02, at 16:05, Goubier Thierry thierry.goub...@cea.fr wrote:
 
 
 
 Le 02/07/2013 15:49, Goubier Thierry a ?crit :
 Done:
 
 SLICE-Issue-11102-FileSystemError-Path--root-ThierryGoubier.1
 
 In http://ss3.gemstone.com/ss/PharoInbox
 
 (It's for 2.0 at the moment. I'll try on 3.0 to port the same code).
 
 Oh, it has a problem with utf8 :(
 
 and most probably it won't work under OSX.
 
 I think you have to implement these primitives on the different platform
 specific stores,
 that implies a separate version for win/mac/linux
 
 Both the concept and the implementation will be different on Windows,
 but for Unix and OS X you can use this for reference:
 
 UnixOSProcessPluginprimitiveFileStat
  Call stat(2) to obtain the file protection mask for a file. Answer
  errno on failure,
  or on success answer an array with: UID with: GID with:
  protectionMask. The
  protectionMask is an Array of four integers representing the
  protection mask, or
  answer errno on failure. The protection mask is four Integers, each
  of which may
  be considered an octal digit (0-7), with bit values 4, 2, and 1. The
  first digit selects
  the set user ID (4) and set group ID (2) and save text image (1)
  attributes. The second
  digit selects permissions for the user who owns the file: read (4),
  write (2), and
  execute (1); the third selects permissions for other users in the
  file's group, with
  the same values; and the fourth for other users not in the file's
  group, with the
  same values.
 
 For example:
 
OSProcess accessor fileStat: '/etc/hosts'
 
 Dave
 
 
 
 

 --
 Thierry Goubier
 CEA list
 Laboratoire des Fondations des Syst?mes Temps R?el Embarqu?s
 91191 Gif sur Yvette Cedex
 France
 Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95




Re: [Pharo-dev] [PROVENANCE INTERNET] Re: FileSystem Permissions

2013-07-02 Thread Jan Vrany

On 02/07/13 17:41, GOUBIER Thierry wrote:

Thanks Lewis,

my bad. Everything needed is in there, even examples :) Cool.
Now, there is still a problem with utf8 in path names, but I suspect 
it's inside FileReference.


File names as kind of tricky under linux because it is not defined in 
which encoding the filenames are. The name is just a sequence of bytes. 
The safe way is check for system encoding using nl_langinfo(CODESET)
and encode/decode strings passed to and from OS to whatever internal 
representation is used to store strings. So far this works good on our

systems.

On Windows its lot easier as pathnames are always encoded in Unicode :-)

Cheers, Jan




Thierry

De : Pharo-dev [pharo-dev-boun...@lists.pharo.org] de la part de David T. Lewis 
[le...@mail.msen.com]
Date d'envoi : mardi 2 juillet 2013 17:59
À : Pharo Development List
Objet : Re: [Pharo-dev] [PROVENANCE  INTERNET] Re:  FileSystem Permissions

Hi Thierry,

You were right in asking for stat/fstat. The unix stat() call provides the
uid and gid of the file, so those values are provided by primitiveFileStat.
In order to determine if the file is e.g. readable, you need that information
along with the file protection mask (also provided by primitiveFileStat),
and of course you need to know the uid and gid of your VM process, see
primitiveGetUid, primitiveGetGid, primitiveGetEUid and primitiveGetEGid
in UnixOSProcessPlugin.

There are also some unit tests that show how this works, for example:

   UnixProcessAccessorTestCasetestIsReadableForUserInGroup


I'm not sure if this helps with your original question, but maybe it
will help as a reference.

Dave


On Tue, Jul 02, 2013 at 04:46:25PM +0200, Goubier Thierry wrote:

Hi Lewis,

we have already this in a way; Pharo provides the permissions as per
stat in fact, but probably not the uid/guid of the file which would
allow for a real check of the permissions.

(that is, the current (wrong) situation is that isReadable returns
ownerCanRead, which has a strong chance of being wrong for a directory
owned by root, as you can guess)

As you can see, I was wrong in asking for stat/fstat... But thanks for
the info.

Thierry

Le 02/07/2013 16:32, David T. Lewis a ?crit :

On Tue, Jul 02, 2013 at 04:05:18PM +0200, Camillo Bruni wrote:


On 2013-07-02, at 16:05, Goubier Thierry thierry.goub...@cea.fr wrote:




Le 02/07/2013 15:49, Goubier Thierry a ?crit :

Done:

SLICE-Issue-11102-FileSystemError-Path--root-ThierryGoubier.1

In http://ss3.gemstone.com/ss/PharoInbox

(It's for 2.0 at the moment. I'll try on 3.0 to port the same code).


Oh, it has a problem with utf8 :(


and most probably it won't work under OSX.

I think you have to implement these primitives on the different platform
specific stores,
that implies a separate version for win/mac/linux


Both the concept and the implementation will be different on Windows,
but for Unix and OS X you can use this for reference:

UnixOSProcessPluginprimitiveFileStat
 Call stat(2) to obtain the file protection mask for a file. Answer
 errno on failure,
 or on success answer an array with: UID with: GID with:
 protectionMask. The
 protectionMask is an Array of four integers representing the
 protection mask, or
 answer errno on failure. The protection mask is four Integers, each
 of which may
 be considered an octal digit (0-7), with bit values 4, 2, and 1. The
 first digit selects
 the set user ID (4) and set group ID (2) and save text image (1)
 attributes. The second
 digit selects permissions for the user who owns the file: read (4),
 write (2), and
 execute (1); the third selects permissions for other users in the
 file's group, with
 the same values; and the fourth for other users not in the file's
 group, with the
 same values.

For example:

   OSProcess accessor fileStat: '/etc/hosts'

Dave






--
Thierry Goubier
CEA list
Laboratoire des Fondations des Syst?mes Temps R?el Embarqu?s
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95









Re: [Pharo-dev] [PROVENANCE INTERNET] Re: FileSystem Permissions

2013-07-02 Thread Camillo Bruni

On 2013-07-02, at 18:41, GOUBIER Thierry thierry.goub...@cea.fr wrote:

 Thanks Lewis,
 
 my bad. Everything needed is in there, even examples :) Cool. Now, there is 
 still a problem with utf8 in path names, but I suspect it's inside 
 FileReference.
 
 Thierry

yup :/ https://pharo.fogbugz.com/default.asp?2486#73430


Re: [Pharo-dev] [Pharo-project] Understanding NBOpenGL

2013-07-02 Thread Igor Stasenko
On 2 July 2013 16:27, kilon theki...@yahoo.co.uk wrote:
 Igor got you will try to avoid using #sizeOf: , even for a readability I can
 replace it with a simple method returning the same thing depending in
 platform.

 Now because I am confused lets clarify how the whole things works because I
 see many errors in my code and clearly I don't understand how Nativeboost
 works.  Note I am a C noob , so excuse me if I say anything stupid here.

 As far as functions call are concerned I see 3 possible scenariors

 a ) function(int var). Here the C function expects a simple variable of some
 type (int in this case) according to what you told me to make such variable
 I will do

 var := Nativeboost allocate:( NBExternalType typeof:'int')

 if I want to pass a value in that variable then I will do

 var nbInt32AtOffset: 0 put: 6

 will call that function with

 Object function: var

you found very interesting way to pass simple integer to function :)

if your function is 'function(int var)'
you call it directly:

someobject function: 5
x := 10.
someobject function: x
etc..


 b) function(int* var)

 how I create the variable (pointer) ?

 how I put value in the variable (pointer) ?

pointer = address on memory which holding some value.
every time you see '*', it means that function expects pointer.
And of course, since that function will write or read from that memory location,
it is your responsibility to provide a pointer to valid data, with
enough size etc.
So, the way how you did for first case, is actually applicable for this case.

But it is not necessary to use externally allocated memory.
Sometimes you can safely use object memory, e.g.:

buffer := ByteArray new: 4.
someobject function: buffer.

 c) function( var)

did you meant  'int var'? because otherwise it is not correct declaration.

 Now I assume I will create a var variable same way as (a)

 var := Nativeboost allocate:( NBExternalType typeof:'int')

 but how I pass the address of var to the function ?

this is reference (more from C++).. which in fact just a syntactic sugar,
function still expecting pointer (so consider this to be same as *var)


 I read the pdf of nativeboost but It did not clarify those things or simply
 I did not understand.

 Thanks on the instructions about NBExternalArray. So the reason of using
 this object is for convenience ?

Of course. It is more convenient to deal with array of typed elements
(of type you need),
than manually deal with bunch of raw bytes.


 Igor Stasenko wrote
 On 1 July 2013 20:40, kilon 

 thekilon@.co

  wrote:
 Thanks Igor , yes I was aware of String Cr because I have done some
 googling
 around and it did find information on the subject. Apparently it failed
 because I had an error in my source.

 So for our next challenge is learning how to fetch data that a pointer
 points to.

 in this case I have an array that contains my vertex positions , called
 vertexPositions

 vertexPositions
 the positions of vertices to be passed to opengl

 ^ #( 0.75  0.75 0.0 1.0
 0.75  -0.75 0.0 1.0
  -0.75 -0.75 0.0 1.0 )

 so far so good

 so I create a pointer for that array

 vptrsize := (NBExternalType sizeOf: 'float')* self vertexPositions size.

 and then take that pointer and insert in each position the individual
 values
 from vertexPositions

 vertexPositions withIndexDo: [:each :i |
using nbUInt32AtOffset because we know pointer is 4 bytes :)
 
 vpos nbFloat32AtOffset: (i-1)*(NBExternalType sizeOf:
 'float') put:
 each value.
 Transcript show: ' I am putting to vpos in index: '; show: i-1;
 show:'
 value: '; show: each value; cr.
 ].

 so far so good.


 just one small advice:  do not use #sizeOf: sparingly.. it parsing the
 type
 and doing full type resolution when you do that.
 you can remember the size of the type you need at boot/startup time,
 there is no chance
 it can change within same session :)

 but of course for demonstration purposes and readability it good.

 now the tricky part is that I have a function that expects that Array ,
 not
 the smalltalk version but the C version we just created

 gl bufferData_target: GL_ARRAY_BUFFER size: vptrsize  data: ...
 usage:
 GL_STATIC_DRAW.

 where you see the dots is where I should pass the data, in this case the
 C
 array

 I could do a vpo nbFloat32AtOffset: but that will return me only the
 individual value at the specific point (index) of the array, while I want
 to
 pass the entire array.

 So how I do that ?

 I explored NBExternalAdress and I cant find something that would return
 an
 array. Am I missing something obvious here ?


 just pass NBExternalAdress instance as argument and you done.

 NBExternalAdress value , returns the number of the address and not that
 data
 contained in that address.

 I also see a  NBExternalArray but I am not sure if it is what I should be
 using .


 arrayClass :=  NBExternalArray ofType: 'float'.
 array := arrayClass new: 5. or externalNew:5 

Re: [Pharo-dev] Metacello doubt

2013-07-02 Thread Guido Chari
Ok, i will follow the issue on github. Thanks!


2013/7/1 Dale K. Henrichs dale.henri...@gemtalksystems.com

 Guido,

 I created a test case and it turns out that there _is_ a bug in the bypass
 lock logic[1] . I'm going to push out a new version of the Metacello
 Preview (1.0.0-beta.32.8) in the next day or so and the bugfix for Issue
 #174 will _not_ be included in that release ...

 Dale

 [1] https://github.com/dalehenrich/metacello-work/issues/174

 --

 *From: *Guido Chari cha...@gmail.com
 *To: *Pharo Development List pharo-dev@lists.pharo.org
 *Sent: *Thursday, June 27, 2013 10:23:33 AM
 *Subject: *Re: [Pharo-dev] Metacello doubt

 I'm in.


 2013/6/26 Dale K. Henrichs dale.henri...@gemtalksystems.com



 --

 *From: *Guido Chari cha...@gmail.com
 *To: *Pharo Development List pharo-dev@lists.pharo.org
 *Sent: *Wednesday, June 26, 2013 2:49:09 PM

 *Subject: *Re: [Pharo-dev] Metacello doubt

 I understood. Thanks for the answer Dale. The drawback in this case is to
 specify a particular dependency to AsmJit in my configuration. Also,
 perhaps is the right way since i realized i have a particular dependency on
 it.

 But this discussion makes me thing a little and so i have a new question.

 Form what I (mis) undestand from Metacello, when asking for a
 bleedingEdge version it loads only the baseline that specifies packages and
 then last version of every package specified there.

 As in the projects referenced on the baseline there is no need for
 specifying a version, and that's the case of nativeBoost configuration,
 wouldn't it be interesting to have some behavior (i mean i new method for
 loading like loadDeepSymbolic:) that not only load the symbolicVersion of
 the package asked, but also propagate that symbolicVersion (bleedingEdge in
 this case) to all the dependencies that don't specify a concrete version?

 Guido.

 Guido,

 With the Metacello Scripting API[1] I've taken a slightly different tack,
 but I think that it gets you to the same place.

 I am a big fan of deterministic loads, but I know that from a practical
 point of view developers need to have a certain amount of control over
 exactly what gets loaded into their DEVELOPMENT environments and they need
 to be able to exert this control without having to resort to editing
 configurations to match their specific requirements.

 I have accomplished this by arranging for a Notification to be signalled
 whenever a project is referenced during a load. The developer can use one
 or more of the  onUpgrade:, onDowngrade: and onConflict: clauses in their
 load scripts to exert fine control over what happens on a project by
 project basis ...

 For your specific use case, I would think that you would want to use the
 `lock` command[2] and specify that you want to `lock` the projects
 (NativeBoost and AsmJit) to the #bleedingEdge version. I don't recall if
 I've got test cases for symbolic versions, but if you are seriously
 interested in taking the Scripting API for a spin, I'd be willing to write
 some additional tests using the #bleedingEdge symbolic version (if not
 already covered) and validate this use case...

 I am entering a phase where I will be doing some work on getting FileTree
 and Metacello up to snuff for Pharo3.0 so this would be a good time for me
 to add some test cases in anticipation of having some interested users ...

 I haven't released the Scripting API, because I need to have real users
 with real use cases take the API for a spin and validate the API. The
 Scripting API can be loaded into any version of Pharo/Squeak/GemStone and I
 think the Scripting API is (or will be) available in Pharo3.0.

 I'm looking forward to getting feedback as to how the API stands up to
 real use ...

 So let me know if you are interested in being another Scripting API
 guinea pig:)

 Dale

 [1]
 https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md
 [2]
 https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#locking






Re: [Pharo-dev] [update 3.0] #30239

2013-07-02 Thread Stéphane Ducasse
 
 Anyone ever check these diffs? I see the following:
 
 Yes, this is a known bug that needs to be fixed.

Yes I hope nicolas has it on its list :).

 
   Marcus
 
 




[Pharo-dev] question about UI

2013-07-02 Thread Pablo R. Digonzelli
hello list. I am thinking develop a business application in pharo. 
I need information about tools for UI for business applications. for example 
dolphin has MVP framework for desktop. 
I prefer browser/desktop enable UI framework. Which are the tools you can 
recommend? 
Perhaps someone has experience with businnes app. 

TIA 
PD: Sorry for my english 



Ing. Pablo Digonzelli 
Sofware Solutions 
IP Soluciones SRL 

25 de Mayo 521. Entrepiso A 
email: pdigonze...@softsargentina.com 
email: pdigonze...@gmail.com 
twitter: @pdigonzelli 
Tel: 0381 4227378 
Cel: 0381 155982714 



Re: [Pharo-dev] question about UI

2013-07-02 Thread Hilaire Fernandes
Do you know about the Desktop application developed with Pharo by
pinesoft.co.uk ?

http://www.pharo-project.org/about/success-stories


Hilaire


Le 02/07/2013 22:20, Pablo R. Digonzelli a écrit :
 hello list. I am thinking develop a business application in pharo.
 I need information about tools for UI for business applications. for
 example dolphin has MVP framework for desktop.
 I prefer browser/desktop enable UI framework.  Which are the tools you
 can recommend?
 Perhaps someone has experience with businnes app.
 
 TIA
 PD: Sorry for my english
 
 
 
 *Ing. Pablo Digonzelli*
 Sofware Solutions
 IP Soluciones SRL
 
 25 de Mayo 521. Entrepiso A
 email: pdigonze...@softsargentina.com
 email: pdigonze...@gmail.com
 twitter: @pdigonzelli
 Tel: 0381 4227378
 Cel: 0381 155982714
 


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




[Pharo-dev] [update 3.0] #30245

2013-07-02 Thread Stéphane Ducasse
Alain, ben 
please have a look :)

30245
-

0 Install could kill the system onPrimitiveError:
https://pharo.fogbugz.com/default.asp?0

6 cleaning PasteUp again
https://pharo.fogbugz.com/default.asp?6
Diff information:
http://smalltalkhub.com/mc/Pharo/Pharo30/main/Morphic-Base-StephaneDucasse.40.diff




Re: [Pharo-dev] [Pharo-project] Understanding NBOpenGL

2013-07-02 Thread kilon
Thank you Igor for the clarifications, the reason why I prefer using the
nativeboost methods is because :

a) I was not sure if smalltalk types map correctly to C types and which
Smalltalk types correspond to which C types

b) many opengl functions ask for the address of the value and the value
itself. And I have no clue how to obtain memory addresses of smalltalk
types.

c) I was not sure whether Pharo VM or garbage collector would move my data
making my pointers invalid.  

But if you say its ok, I trust you. When exactly is ok to use smalltalk
types ?



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



Re: [Pharo-dev] Tudor Girba joins Pharo Board

2013-07-02 Thread Mariano Martinez Peck
Congrats! Doru, It's well deserved.
Best,


On Tue, Jul 2, 2013 at 7:51 PM, Alexandre Bergel alexandre.ber...@me.comwrote:

 Cool!

 Alexandre


 On Jul 2, 2013, at 10:12 AM, Sven Van Caekenberghe s...@stfx.eu wrote:

  Hi,
 
  The Pharo Board is pleased to announce that Tudor Girba has recently
 joined the Pharo Board. Among others, he will try to contribute on long
 term issues like the positioning of Pharo.
 
  Stéphane, Marcus  Sven
 
  http://www.pharo-project.org/about/board
 
  --
  http://pharo.org
  http://association.pharo.org
  http://consortium.pharo.org
 
 
 
 
 

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







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