Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
May 2015
- 100 participants
- 788 messages
Re: [Pharo-users] mac address on windows
by Nicolai Hess
2015-05-06 16:40 GMT+02:00 Esteban Lorenzano <estebanlm(a)gmail.com>:
>
> On 06 May 2015, at 12:10, phil(a)highoctane.be wrote:
>
> I've loaded your package.
>
> A prerequisite is to load OS-Window to make it work.
>
>
> why?
> in any case, oswindow is already included in pharo4
>
OS-Windows (by TorstenBergmann)
not
OSWindow :)
It is needed for the shared pool WinTypes,
but without OS-Window, he can use NBWinTypes instead.
>
> Esteban
>
>
> I've got the DLL call working nicely and the nativeboost with the
> structure freezing.
>
> Now, we should all have a look at:
>
> https://github.com/ronsaldo/bullet-pharo
>
> and
>
> https://github.com/ronsaldo/swig
>
> because it looks like the way to go to wrap libraries...
>
> Ronie, I know you modified swig for generating Pharo code;
>
> Is cloning your swig repo the way to go ?
>
>
> Phil
>
>
>
>
> On Wed, May 6, 2015 at 10:39 AM, Usman Bhatti <usman.bhatti(a)gmail.com>
> wrote:
>
>> Hi Nicolai,
>>
>> Here is my package that defines the nativeboost call and associated C
>> structs.
>> The external C struct is self referencing and hence sometimes I get
>> infinite recursion when trying to change field descriptions. That is the
>> reason why the automatically generated accessors are absent (although I had
>> them in an earlier version).
>>
>> Attached also the DLL referenced in the code.
>>
>>
>>
>> On Wed, May 6, 2015 at 9:58 AM, Nicolai Hess <nicolaihess(a)web.de> wrote:
>>
>>>
>>>
>>> 2015-05-06 9:53 GMT+02:00 Usman Bhatti <usman.bhatti(a)gmail.com>:
>>>
>>>>
>>>>
>>>> On Tue, May 5, 2015 at 7:34 PM, phil(a)highoctane.be <phil(a)highoctane.be>
>>>> wrote:
>>>>
>>>>>
>>>>> On Tue, May 5, 2015 at 6:28 PM, Usman Bhatti <usman.bhatti(a)gmail.com>
>>>>> wrote:
>>>>>
>>>>>> I succeeded to do it by encapsulating the C routine as a DLL and
>>>>>> doing an FFI call from my image (as suggested by Guille).
>>>>>>
>>>>>
>>>>> At least there was a way!
>>>>>
>>>>
>>>> Exactly :)
>>>>
>>>>
>>>>>
>>>>> Looks like this is the most controlled|debuggable way:
>>>>> - get it working with C code out of Pharo
>>>>> - make a bridge that can be used easily with FFI in a dll
>>>>> - use that from Pharo with proven FFI
>>>>>
>>>>> Would NativeBoost work with your dll? Should.
>>>>>
>>>>
>>>> I have read a few resources about Nativeboost but I am still naive to
>>>> know the difference between FFI and nativeboost. The FFI call I made to
>>>> invoke the DLL function looked similar to the nativeboost calls.
>>>>
>>>>
>>>>>
>>>>>
>>>>> I also tried to perform the nativeboost call by creating my structures
>>>>>> in Pharo. The function in Windows that can be used to retrieve mac address
>>>>>> in Windows: GetAdaptersInfo
>>>>>> <https://msdn.microsoft.com/en-us/library/windows/desktop/aa365917%28v=vs.85…> that
>>>>>> accepts a PIP_ADAPTER_INFO
>>>>>> <https://msdn.microsoft.com/en-us/library/windows/desktop/aa366062(v=vs.85).…> structure.
>>>>>> I subclassed NBExternalStructure to define this struct and the other used
>>>>>> by it in the image but my NB call returned with 87 code (Invalid parameter)
>>>>>> and it was impossible to debug. However, I would like to make this thing
>>>>>> work to understand what went wrong.
>>>>>>
>>>>>
>>>>> Has this something to do with 32|64 bit library complications?
>>>>>
>>>>
>>>> Not exactly. For me, it was more related to the fact that I had to map
>>>> a complex C struct in Pharo. Here is an excerpt of the definition from MSDN:
>>>>
>>>> typedef struct _IP_ADAPTER_INFO {
>>>> struct _IP_ADAPTER_INFO *Next;
>>>> ...
>>>> PIP_ADDR_STRING CurrentIpAddress;
>>>> IP_ADDR_STRING GatewayList;
>>>> ...
>>>> }
>>>>
>>>> So, I had to define three external structures (all names in capitals)
>>>> and I did the effort but in the end I got an error code that I could not
>>>> debug in the image. Hence, I gave up and opted to go in the native
>>>> environment. But I would like someone knowledgable to have a look at my
>>>> nativeboost code because the nativeboost approach is more simple
>>>> (everything's in the image).
>>>>
>>>
>>> I can have a look.
>>>
>>> btw. for what do you need the mac address?
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>> usman
>>>>
>>>>
>>>>>
>>>>> Phil
>>>>>
>>>>> With ProcessWrapper, I could not load the classes essential for making
>>>>> the plugin work.
>>>>>
>>>>> HTH,
>>>>>
>>>>> Usman
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, May 4, 2015 at 2:54 PM, Ben Coman <btc(a)openinworld.com> wrote:
>>>>> As a complete newb to VM building I found this fairly straight forward
>>>>> (on a Mac btw).
>>>>> https://github.com/pharo-project/pharo-vm
>>>>> cheers -ben
>>>>>
>>>>> On Mon, May 4, 2015 at 5:28 PM, Usman Bhatti <usman.bhatti(a)gmail.com>
>>>>> wrote:
>>>>>
>>>>>
>>>>> On Sun, May 3, 2015 at 4:22 PM, Pierce Ng <pierce(a)samadhiweb.com>
>>>>> wrote:
>>>>> On Sat, May 02, 2015 at 03:55:47PM +0200, Usman Bhatti wrote:
>>>>> > 1/ OSProcess: I tried (PipeableOSProcess command: 'ipconfig /all')
>>>>> output.
>>>>>
>>>>> I have used http://www.smalltalkhub.com/#!/~hernan/ProcessWrapper
>>>>> successfully
>>>>> back when I was on Windows using some now-ancient version of Pharo.
>>>>>
>>>>> I had initially discarded the idea of using this project because it
>>>>> required a plugin and the information of the plugin was outdated on
>>>>> squeaksource. However, having evaluated superficially the complexity of
>>>>> doing it with nativeboost (because too many external c struct involved in
>>>>> the call), I would like to see if I am better off using this wrapper.
>>>>>
>>>>> I loaded it with:
>>>>>
>>>>> Gofer it
>>>>> url: 'http://www.smalltalkhub.com/mc/hernan/ProcessWrapper/main';
>>>>> package: 'ProcessWrapper-Core';
>>>>> package: 'ProcessWrapper-Plugin';
>>>>> package: 'ProcessWrapper-Tests';
>>>>> load.
>>>>>
>>>>> But the plugins wont load because it requires the
>>>>> class SmartSyntaxInterpreterPlugin and apparently this file is a part of
>>>>> the VMMaker. Is there any recent config for VMMaker in Pharo because this
>>>>> one looks outdated:
>>>>>
>>>>> http://pharo.gemtalksystems.com/book/Virtual-Machine/Building/VMMakerTool/
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Pierce
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
>
>
May 6, 2015
Re: [Pharo-users] WebSocket and Proxying ...
by itlists@schrievkrom.de
Hmm, at least I managed, that Pharo answered every second request using
the echo example
Under Windows and nginx I added to the nginx configuration. My local
Pharo server is running under 127.0.0.1:40000:
extract from nginx.conf:
http:{
map $http_upgrade $connection_upgrade {
default upgrade;
}
server {
location /ws-echo {
proxy_pass http://127.0.0.1:40000/ws-echo ;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location /ws-echo-client {
proxy_pass http://127.0.0.1:40000/ws-echo-client ;
}
}
}
Am 06.05.2015 um 10:20 schrieb Sven Van Caekenberghe:
> Marten,
>
>> On 06 May 2015, at 10:15, itlists(a)schrievkrom.de wrote:
>>
>> Hello,
>>
>> I'm playing with WebSockets under Pharo4 and this works as expected -
>> when using Pharo4 alone (using the Zinc packages).
>>
>> But I did not get it to work, when e.g. doing a proxying via nginx (I
>> did not check it with Apache).
>>
>> Actually Pharo4 seems to receive some stuff, because the WebSocket of
>> Pharo4 stuff does not work as expected after first proxying attempts.
>>
>> Has anyone experience with that ?
>>
>> Marten
>
> Proxying the WebSockets protocol is not easy, nor implemented everywhere, like HTTP is. This makes sense if you think about it, a WebSocket connection is a permanent connection, which takes resources, this is not something most servers like.
>
> So it is more difficult.
>
> Did you see/try http://nginx.org/en/docs/http/websocket.html ?
>
> (I did not try it)
>
> Sven
>
>
--
Marten Feldtmann
May 6, 2015
Re: [Pharo-users] mac address on windows
by Esteban Lorenzano
> On 06 May 2015, at 12:10, phil(a)highoctane.be wrote:
>
> I've loaded your package.
>
> A prerequisite is to load OS-Window to make it work.
why?
in any case, oswindow is already included in pharo4
Esteban
>
> I've got the DLL call working nicely and the nativeboost with the structure freezing.
>
> Now, we should all have a look at:
>
> https://github.com/ronsaldo/bullet-pharo <https://github.com/ronsaldo/bullet-pharo>
>
> and
>
> https://github.com/ronsaldo/swig <https://github.com/ronsaldo/swig>
>
> because it looks like the way to go to wrap libraries...
>
> Ronie, I know you modified swig for generating Pharo code;
>
> Is cloning your swig repo the way to go ?
>
>
> Phil
>
>
>
>
> On Wed, May 6, 2015 at 10:39 AM, Usman Bhatti <usman.bhatti(a)gmail.com <mailto:usman.bhatti@gmail.com>> wrote:
> Hi Nicolai,
>
> Here is my package that defines the nativeboost call and associated C structs.
> The external C struct is self referencing and hence sometimes I get infinite recursion when trying to change field descriptions. That is the reason why the automatically generated accessors are absent (although I had them in an earlier version).
>
> Attached also the DLL referenced in the code.
>
>
>
> On Wed, May 6, 2015 at 9:58 AM, Nicolai Hess <nicolaihess(a)web.de <mailto:nicolaihess@web.de>> wrote:
>
>
> 2015-05-06 9:53 GMT+02:00 Usman Bhatti <usman.bhatti(a)gmail.com <mailto:usman.bhatti@gmail.com>>:
>
>
> On Tue, May 5, 2015 at 7:34 PM, phil(a)highoctane.be <mailto:phil@highoctane.be> <phil(a)highoctane.be <mailto:phil@highoctane.be>> wrote:
>
> On Tue, May 5, 2015 at 6:28 PM, Usman Bhatti <usman.bhatti(a)gmail.com <mailto:usman.bhatti@gmail.com>> wrote:
> I succeeded to do it by encapsulating the C routine as a DLL and doing an FFI call from my image (as suggested by Guille).
>
> At least there was a way!
>
> Exactly :)
>
>
> Looks like this is the most controlled|debuggable way:
> - get it working with C code out of Pharo
> - make a bridge that can be used easily with FFI in a dll
> - use that from Pharo with proven FFI
>
> Would NativeBoost work with your dll? Should.
>
> I have read a few resources about Nativeboost but I am still naive to know the difference between FFI and nativeboost. The FFI call I made to invoke the DLL function looked similar to the nativeboost calls.
>
>
>
> I also tried to perform the nativeboost call by creating my structures in Pharo. The function in Windows that can be used to retrieve mac address in Windows: GetAdaptersInfo <https://msdn.microsoft.com/en-us/library/windows/desktop/aa365917%28v=vs.85…> that accepts a PIP_ADAPTER_INFOÂ <https://msdn.microsoft.com/en-us/library/windows/desktop/aa366062(v=vs.85).…> structure. I subclassed NBExternalStructure to define this struct and the other used by it in the image but my NB call returned with 87 code (Invalid parameter) and it was impossible to debug. However, I would like to make this thing work to understand what went wrong.
>
> Has this something to do with 32|64 bit library complications?
>
> Not exactly. For me, it was more related to the fact that I had to map a complex C struct in Pharo. Here is an excerpt of the definition from MSDN:
>
> typedef struct _IP_ADAPTER_INFO {
> struct _IP_ADAPTER_INFO *Next;
> ...
> PIP_ADDR_STRING CurrentIpAddress;
> IP_ADDR_STRING GatewayList;
> ...
> }
>
> So, I had to define three external structures (all names in capitals) and I did the effort but in the end I got an error code that I could not debug in the image. Hence, I gave up and opted to go in the native environment. But I would like someone knowledgable to have a look at my nativeboost code because the nativeboost approach is more simple (everything's in the image).
>
> I can have a look.
>
> btw. for what do you need the mac address?
>
>
>
>
>
> usman
>
>
> Phil
>
> With ProcessWrapper, I could not load the classes essential for making the plugin work.
>
> HTH,
>
> Usman
>
>
>
>
> On Mon, May 4, 2015 at 2:54 PM, Ben Coman <btc(a)openinworld.com <mailto:btc@openinworld.com>> wrote:
> As a complete newb to VM building I found this fairly straight forward (on a Mac btw).
> https://github.com/pharo-project/pharo-vm <https://github.com/pharo-project/pharo-vm>
> cheers -ben
>
> On Mon, May 4, 2015 at 5:28 PM, Usman Bhatti <usman.bhatti(a)gmail.com <mailto:usman.bhatti@gmail.com>> wrote:
>
>
> On Sun, May 3, 2015 at 4:22 PM, Pierce Ng <pierce(a)samadhiweb.com <mailto:pierce@samadhiweb.com>> wrote:
> On Sat, May 02, 2015 at 03:55:47PM +0200, Usman Bhatti wrote:
> > 1/ OSProcess: I tried (PipeableOSProcess command: 'ipconfig /all') output.
>
> I have used http://www.smalltalkhub.com/#!/~hernan/ProcessWrapper <http://www.smalltalkhub.com/#!/~hernan/ProcessWrapper> successfully
> back when I was on Windows using some now-ancient version of Pharo.
>
> I had initially discarded the idea of using this project because it required a plugin and the information of the plugin was outdated on squeaksource. However, having evaluated superficially the complexity of doing it with nativeboost (because too many external c struct involved in the call), I would like to see if I am better off using this wrapper.
>
> I loaded it with:
>
> Gofer it
> url: 'http://www.smalltalkhub.com/mc/hernan/ProcessWrapper/main <http://www.smalltalkhub.com/mc/hernan/ProcessWrapper/main>';
> package: 'ProcessWrapper-Core';
> package: 'ProcessWrapper-Plugin';
> package: 'ProcessWrapper-Tests';
> load.
>
> But the plugins wont load because it requires the class SmartSyntaxInterpreterPlugin and apparently this file is a part of the VMMaker. Is there any recent config for VMMaker in Pharo because this one looks outdated:
> http://pharo.gemtalksystems.com/book/Virtual-Machine/Building/VMMakerTool/ <http://pharo.gemtalksystems.com/book/Virtual-Machine/Building/VMMakerTool/>
>
>
>
>
>
> Pierce
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
May 6, 2015
Re: [Pharo-users] A Pharo..
by Hilaire
And the making-of, in French but you can still view the movie :)
It is really for young kids.
https://plus.google.com/+DrgeoEu/posts/Q8xokLpkXFM
Le 05/05/2015 18:55, Hilaire a écrit :
> With Dr. Geo
>
--
Dr. Geo
http://drgeo.eu
http://google.com/+DrgeoEu
May 6, 2015
Re: [Pharo-users] Problems in switching from Moose 5.0 (Pharo 3) to Moose 5.1 (Pharo 4)
by Blondeau Vincent
De : Pharo-users [mailto:pharo-users-bounces@lists.pharo.org] De la part de PBKResearch
Envoyé : mercredi 6 mai 2015 12:12
à : 'Any question about pharo is welcome'
Objet : Re: [Pharo-users] Problems in switching from Moose 5.0 (Pharo 3) to Moose 5.1 (Pharo 4)
Vincent
Peter,
Many thanks. You have solved the problem and educated me in the process - since I now know how to do a user interrupt - I was pressing Ctrl-Break with no effect. The problem was the looping of the deprecation notifier, which I can fix by removing the deprecated 'value' message. The looping should not have occurred, and there must be a bug somewhere, but it's not my problem.
Actually, the notify message open a debugger and "value" message is send by the debugger, but value send a notify message that opens a new debugger... etc... I don't think that is a bug. It is not the notify: method that should be used but the deprecated: one.
One little detail, about your comment on point 6 below. On my system, (TLTextTokenizer parse: 'test' startingAt: #word) generates an array of PPToken, so it does not understand parsedValue. Are we looking at different versions of TextLint?
TLTextTokenizer parse: 'test' startingAt: #word return a PPToken, not an array on PPToken in the version I have.
I have this version of TextLint :
Name: TextLint-Model-JorgeRessia.225
Author: JorgeRessia
Time: 10 February 2012, 2:41:11 pm
UUID: 3c6965a4-bc1f-42e4-b309-fab8e4303046
Ancestors: TextLint-Model-lr.224
Name: TextLint-Tests-lr.166
Author: lr
Time: 25 March 2012, 10:46:49 am
UUID: ed387b31-02e6-4194-91e6-18d3879dc858
Ancestors: TextLint-Tests-DamienCassou.165
And petit parser:
Name: PetitParser-JanKurs.278
Author: JanKurs
Time: 5 May 2015, 2:39:26.475846 pm
UUID: 55ae813a-5dfd-4b4d-a98b-274f5431331e
Ancestors: PetitParser-JanKurs.277, PetitParser-JanKurs.276
Vincent Blondeau
Thanks again
Peter Kenny
From: Pharo-users [mailto:pharo-users-bounces@lists.pharo.org] On Behalf Of Blondeau Vincent
Sent: 06 May 2015 10:00
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Problems in switching from Moose 5.0 (Pharo 3) to Moose 5.1 (Pharo 4)
De : Pharo-users [mailto:pharo-users-bounces@lists.pharo.org] De la part de PBKResearch
Envoyé : mardi 5 mai 2015 18:01
à : pharo-users(a)lists.pharo.org<mailto:pharo-users@lists.pharo.org>
Objet : [Pharo-users] Problems in switching from Moose 5.0 (Pharo 3) to Moose 5.1 (Pharo 4)
Hello,
I have been working with Moose 5.0 on a project involving natural language processing. I used TextLint to parse the input, just because it contained a set of parsers which gave output in a convenient form. I have read all about the virtues of Pharo 4, and decided to give it a try, so I set out to reproduce the earlier results. I have run into a number of problems - basically I haven't been able to get anywhere. I realise TextLint is rather antique, but basically as I use it it is just a set of PetitParser parsers, so I can't see a problem.
I have boiled the problems down to a few test cases, not realistic bits of my work but just to show the essential points.
1. Environment: Windows 7 Professional (64 bit version).
2. Download and install latest Pharo 4 - Latest update: #40612. This is just to get an up to date VM.
3. Download latest Moose 5.1 image and unzip into same folder as Pharo 4. On opening the Moose 5.1 image it also shows Latest update: #40612. (I have to ignore Firefox's hysterical warnings that the INRIA site does not have a valid security certificate.)
4. Load TextLint into the image. Can't get 'ConfigurationofTextLint' to work, so load TextLInt-Model-JorgeRessia.225.mcz and TextLint-Tests-lr.166.mcz via the Monticello Browser. This is the same as I used in my earlier Moose 5.0 image, where it worked as expected.
The ConfigurationofTextLint doesn't not load because it can't found the project NEC which is not at 'http://ss3.gemstone.com/ss/NEC', it has to be changed in ConfigurationOfGlamour>>default:.
Your configuration should not load Glamour because it is already included in the Moose image.
5. Open a playground, enter:
PPToken on: 'test'.
and select 'Inspect it'. The inspector halts with message: 'MNU ByteString>>find AnySubstring:startingAt:' Basic Inspect works as expected. Does this look like the problem raised by Nicolas Lusa today?
Seems resolved on latest Moose5.1 (#874) on Pharo #40613.
6. Enter in the playground:
word := (TLTextTokenizer parse: 'test' startingAt: #word) at: 1.
(The tokenizer gives an array of tokens, so we need to select the first - and only - one.) Basic Inspect confirms that 'word' is a PPToken, as expected.
The code doesn't work, did you mean : (TLTextTokenizer parse: 'test' startingAt: #word) parsedValue at: 1 ?
7. Enter in the playground:
TLWord with: word.
Select 'Do it'. The image becomes completely unresponsive, and appears to be in a tight loop. Only way out is to click the Windows red X and say yes to exit without saving. Restarting, get to the same point and select 'Debug it'. Trace it to TLSyntacticElement>>initializeWith: aToken, where the only line of code is: 'token := aToken'. Again a complete lockup.
Do ALT+. as soon you execute the method, you should be able to find the error. By the way it seems that in TLSyntacticElement>>text, value has to be replaced by inputValue (value is deprecated, and the notify event seems to loop...). It seems to work after that.
Sorry for the lengthy details; I just hope there is enough there to enable someone to diagnose the problem(s). Any help gratefully received. Meanwhile I am back to the Pharo 3 version.
Clear details, though. I think you can go back to Pharo 4.
Thanks
You're welcome,
Vincent Blondeau
Peter Kenny
________________________________
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
________________________________
Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
May 6, 2015
Halo Menu On Spec Tree Node
by Craig Johnson
Hi All,
I had an issue - when I opened a Halo on a Spec tree node in the UI and
select the menu Icon, I got a DNU message. However if I selected a
normal Morph, the menu Icon worked fine.
I'm using Pharo 4.0 released version.
Fixed this by changing TreeModel>>iconFor to:
iconFor: aNode
^ iconBlock value cull: aNode content*s* cull: aNode
Craig
May 6, 2015
Re: [Pharo-users] mac address on windows
by phil@highoctane.be
On Wed, May 6, 2015 at 12:29 PM, Nicolai Hess <nicolaihess(a)web.de> wrote:
>
>
> 2015-05-06 12:10 GMT+02:00 phil(a)highoctane.be <phil(a)highoctane.be>:
>
>> I've loaded your package.
>>
>> A prerequisite is to load OS-Window to make it work.
>>
>> I've got the DLL call working nicely and the nativeboost with the
>> structure freezing.
>>
>
> This is because you have a recursive datastructure description, but
> acutually the IP_ADAPTER_INFO structure is not recursive:
>
> PIP_ADAPTER_INFO class >>fieldsDex
> ^ #(
> PIP_ADAPTER_INFO nextVariable;
> DWORD ComboIndex;
> CHAR AdapterName;
> CHAR Description;
> ....)
>
> The "nextVariable" should be a pointer to the structure.
>
> from MSDN:
>
> struct _IP_ADAPTER_INFO {
> struct _IP_ADAPTER_INFO *Next; "<- pointer"
> DWORD ComboIndex;
> char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
> char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
> UINT AddressLength;
>
> ....
>
>
>
So, what's to put in there then?
I can use FFI / NB for basic cases but never ventured into those structure.
I'd like to :-)
Phil
I
>
>
>
>
>
>
>
>>
>> Now, we should all have a look at:
>>
>> https://github.com/ronsaldo/bullet-pharo
>>
>> and
>>
>> https://github.com/ronsaldo/swig
>>
>> because it looks like the way to go to wrap libraries...
>>
>> Ronie, I know you modified swig for generating Pharo code;
>>
>> Is cloning your swig repo the way to go ?
>>
>>
>> Phil
>>
>>
>>
>>
>>
>> On Wed, May 6, 2015 at 10:39 AM, Usman Bhatti <usman.bhatti(a)gmail.com>
>> wrote:
>>
>>> Hi Nicolai,
>>>
>>> Here is my package that defines the nativeboost call and associated C
>>> structs.
>>> The external C struct is self referencing and hence sometimes I get
>>> infinite recursion when trying to change field descriptions. That is the
>>> reason why the automatically generated accessors are absent (although I had
>>> them in an earlier version).
>>>
>>> Attached also the DLL referenced in the code.
>>>
>>>
>>>
>>> On Wed, May 6, 2015 at 9:58 AM, Nicolai Hess <nicolaihess(a)web.de> wrote:
>>>
>>>>
>>>>
>>>> 2015-05-06 9:53 GMT+02:00 Usman Bhatti <usman.bhatti(a)gmail.com>:
>>>>
>>>>>
>>>>>
>>>>> On Tue, May 5, 2015 at 7:34 PM, phil(a)highoctane.be <phil(a)highoctane.be
>>>>> > wrote:
>>>>>
>>>>>>
>>>>>> On Tue, May 5, 2015 at 6:28 PM, Usman Bhatti <usman.bhatti(a)gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> I succeeded to do it by encapsulating the C routine as a DLL and
>>>>>>> doing an FFI call from my image (as suggested by Guille).
>>>>>>>
>>>>>>
>>>>>> At least there was a way!
>>>>>>
>>>>>
>>>>> Exactly :)
>>>>>
>>>>>
>>>>>>
>>>>>> Looks like this is the most controlled|debuggable way:
>>>>>> - get it working with C code out of Pharo
>>>>>> - make a bridge that can be used easily with FFI in a dll
>>>>>> - use that from Pharo with proven FFI
>>>>>>
>>>>>> Would NativeBoost work with your dll? Should.
>>>>>>
>>>>>
>>>>> I have read a few resources about Nativeboost but I am still naive to
>>>>> know the difference between FFI and nativeboost. The FFI call I made to
>>>>> invoke the DLL function looked similar to the nativeboost calls.
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>> I also tried to perform the nativeboost call by creating my
>>>>>>> structures in Pharo. The function in Windows that can be used to retrieve
>>>>>>> mac address in Windows: GetAdaptersInfo
>>>>>>> <https://msdn.microsoft.com/en-us/library/windows/desktop/aa365917%28v=vs.85…> that
>>>>>>> accepts a PIP_ADAPTER_INFO
>>>>>>> <https://msdn.microsoft.com/en-us/library/windows/desktop/aa366062(v=vs.85).…> structure.
>>>>>>> I subclassed NBExternalStructure to define this struct and the other used
>>>>>>> by it in the image but my NB call returned with 87 code (Invalid parameter)
>>>>>>> and it was impossible to debug. However, I would like to make this thing
>>>>>>> work to understand what went wrong.
>>>>>>>
>>>>>>
>>>>>> Has this something to do with 32|64 bit library complications?
>>>>>>
>>>>>
>>>>> Not exactly. For me, it was more related to the fact that I had to map
>>>>> a complex C struct in Pharo. Here is an excerpt of the definition from MSDN:
>>>>>
>>>>> typedef struct _IP_ADAPTER_INFO {
>>>>> struct _IP_ADAPTER_INFO *Next;
>>>>> ...
>>>>> PIP_ADDR_STRING CurrentIpAddress;
>>>>> IP_ADDR_STRING GatewayList;
>>>>> ...
>>>>> }
>>>>>
>>>>> So, I had to define three external structures (all names in capitals)
>>>>> and I did the effort but in the end I got an error code that I could not
>>>>> debug in the image. Hence, I gave up and opted to go in the native
>>>>> environment. But I would like someone knowledgable to have a look at my
>>>>> nativeboost code because the nativeboost approach is more simple
>>>>> (everything's in the image).
>>>>>
>>>>
>>>> I can have a look.
>>>>
>>>> btw. for what do you need the mac address?
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>>
>>>>> usman
>>>>>
>>>>>
>>>>>>
>>>>>> Phil
>>>>>>
>>>>>>>
>>>>>>> With ProcessWrapper, I could not load the classes essential for
>>>>>>> making the plugin work.
>>>>>>>
>>>>>>> HTH,
>>>>>>>
>>>>>>> Usman
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, May 4, 2015 at 2:54 PM, Ben Coman <btc(a)openinworld.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> As a complete newb to VM building I found this fairly straight
>>>>>>>> forward (on a Mac btw).
>>>>>>>> https://github.com/pharo-project/pharo-vm
>>>>>>>> cheers -ben
>>>>>>>>
>>>>>>>> On Mon, May 4, 2015 at 5:28 PM, Usman Bhatti <
>>>>>>>> usman.bhatti(a)gmail.com> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sun, May 3, 2015 at 4:22 PM, Pierce Ng <pierce(a)samadhiweb.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> On Sat, May 02, 2015 at 03:55:47PM +0200, Usman Bhatti wrote:
>>>>>>>>>> > 1/ OSProcess: I tried (PipeableOSProcess command: 'ipconfig
>>>>>>>>>> /all') output.
>>>>>>>>>>
>>>>>>>>>> I have used http://www.smalltalkhub.com/#!/~hernan/ProcessWrapper
>>>>>>>>>> successfully
>>>>>>>>>> back when I was on Windows using some now-ancient version of
>>>>>>>>>> Pharo.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I had initially discarded the idea of using this project because
>>>>>>>>> it required a plugin and the information of the plugin was outdated on
>>>>>>>>> squeaksource. However, having evaluated superficially the complexity of
>>>>>>>>> doing it with nativeboost (because too many external c struct involved in
>>>>>>>>> the call), I would like to see if I am better off using this wrapper.
>>>>>>>>>
>>>>>>>>> I loaded it with:
>>>>>>>>>
>>>>>>>>> Gofer it
>>>>>>>>> url: 'http://www.smalltalkhub.com/mc/hernan/ProcessWrapper/main
>>>>>>>>> ';
>>>>>>>>> package: 'ProcessWrapper-Core';
>>>>>>>>> package: 'ProcessWrapper-Plugin';
>>>>>>>>> package: 'ProcessWrapper-Tests';
>>>>>>>>> load.
>>>>>>>>>
>>>>>>>>> But the plugins wont load because it requires the
>>>>>>>>> class SmartSyntaxInterpreterPlugin and apparently this file is a part of
>>>>>>>>> the VMMaker. Is there any recent config for VMMaker in Pharo because this
>>>>>>>>> one looks outdated:
>>>>>>>>>
>>>>>>>>> http://pharo.gemtalksystems.com/book/Virtual-Machine/Building/VMMakerTool/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Pierce
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>
May 6, 2015
Re: [Pharo-users] mac address on windows
by Henrik Johansen
> On 06 May 2015, at 12:29 , Nicolai Hess <nicolaihess(a)web.de> wrote:
>
>
>
> 2015-05-06 12:10 GMT+02:00 phil(a)highoctane.be <mailto:phil@highoctane.be> <phil(a)highoctane.be <mailto:phil@highoctane.be>>:
> I've loaded your package.
>
> A prerequisite is to load OS-Window to make it work.
>
> I've got the DLL call working nicely and the nativeboost with the structure freezing.
>
> This is because you have a recursive datastructure description, but acutually the IP_ADAPTER_INFO structure is not recursive:
>
> PIP_ADAPTER_INFO class >>fieldsDex
> ^ #(
> PIP_ADAPTER_INFO nextVariable;
> DWORD ComboIndex;
> CHAR AdapterName;
> CHAR Description;
> ....)
>
> The "nextVariable" should be a pointer to the structure.
>
> from MSDN:
>
> struct _IP_ADAPTER_INFO {
> struct _IP_ADAPTER_INFO *Next; "<- pointer"
> DWORD ComboIndex;
> char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
> char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
> UINT AddressLength;
>
> ....
>
Also, the pOutBufLen parameter to GetAdaptorInfo is supposed to be a pointer to an unsigned long, holding the size of the buffer.
Setting that to an int in the NB declaration, will cause all sorts of trouble...
Cheers,
Henry
May 6, 2015
Re: [Pharo-users] Woden-Roassal pharo5 inspector bugs
by Alexandre Bergel
Apparently moose will soon move to Pharo 5. Maybe next week or so.
Alexandre
> Le 6 mai 2015 à 04:34, Lusa Nicolas <nicolas.lusa(a)usi.ch> a écrit :
>
> Hi,
>
> thanks for the quick answer, I'll switch back to pharo4 for the moment.
>
> Cheers,
> Nicolas
>
>
May 6, 2015
Re: [Pharo-users] mac address on windows
by Nicolai Hess
2015-05-06 12:10 GMT+02:00 phil(a)highoctane.be <phil(a)highoctane.be>:
> I've loaded your package.
>
> A prerequisite is to load OS-Window to make it work.
>
> I've got the DLL call working nicely and the nativeboost with the
> structure freezing.
>
This is because you have a recursive datastructure description, but
acutually the IP_ADAPTER_INFO structure is not recursive:
PIP_ADAPTER_INFO class >>fieldsDex
^ #(
PIP_ADAPTER_INFO nextVariable;
DWORD ComboIndex;
CHAR AdapterName;
CHAR Description;
....)
The "nextVariable" should be a pointer to the structure.
from MSDN:
struct _IP_ADAPTER_INFO {
struct _IP_ADAPTER_INFO *Next; "<- pointer"
DWORD ComboIndex;
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
UINT AddressLength;
....
>
> Now, we should all have a look at:
>
> https://github.com/ronsaldo/bullet-pharo
>
> and
>
> https://github.com/ronsaldo/swig
>
> because it looks like the way to go to wrap libraries...
>
> Ronie, I know you modified swig for generating Pharo code;
>
> Is cloning your swig repo the way to go ?
>
>
> Phil
>
>
>
>
>
> On Wed, May 6, 2015 at 10:39 AM, Usman Bhatti <usman.bhatti(a)gmail.com>
> wrote:
>
>> Hi Nicolai,
>>
>> Here is my package that defines the nativeboost call and associated C
>> structs.
>> The external C struct is self referencing and hence sometimes I get
>> infinite recursion when trying to change field descriptions. That is the
>> reason why the automatically generated accessors are absent (although I had
>> them in an earlier version).
>>
>> Attached also the DLL referenced in the code.
>>
>>
>>
>> On Wed, May 6, 2015 at 9:58 AM, Nicolai Hess <nicolaihess(a)web.de> wrote:
>>
>>>
>>>
>>> 2015-05-06 9:53 GMT+02:00 Usman Bhatti <usman.bhatti(a)gmail.com>:
>>>
>>>>
>>>>
>>>> On Tue, May 5, 2015 at 7:34 PM, phil(a)highoctane.be <phil(a)highoctane.be>
>>>> wrote:
>>>>
>>>>>
>>>>> On Tue, May 5, 2015 at 6:28 PM, Usman Bhatti <usman.bhatti(a)gmail.com>
>>>>> wrote:
>>>>>
>>>>>> I succeeded to do it by encapsulating the C routine as a DLL and
>>>>>> doing an FFI call from my image (as suggested by Guille).
>>>>>>
>>>>>
>>>>> At least there was a way!
>>>>>
>>>>
>>>> Exactly :)
>>>>
>>>>
>>>>>
>>>>> Looks like this is the most controlled|debuggable way:
>>>>> - get it working with C code out of Pharo
>>>>> - make a bridge that can be used easily with FFI in a dll
>>>>> - use that from Pharo with proven FFI
>>>>>
>>>>> Would NativeBoost work with your dll? Should.
>>>>>
>>>>
>>>> I have read a few resources about Nativeboost but I am still naive to
>>>> know the difference between FFI and nativeboost. The FFI call I made to
>>>> invoke the DLL function looked similar to the nativeboost calls.
>>>>
>>>>
>>>>>
>>>>>
>>>>> I also tried to perform the nativeboost call by creating my structures
>>>>>> in Pharo. The function in Windows that can be used to retrieve mac address
>>>>>> in Windows: GetAdaptersInfo
>>>>>> <https://msdn.microsoft.com/en-us/library/windows/desktop/aa365917%28v=vs.85…> that
>>>>>> accepts a PIP_ADAPTER_INFO
>>>>>> <https://msdn.microsoft.com/en-us/library/windows/desktop/aa366062(v=vs.85).…> structure.
>>>>>> I subclassed NBExternalStructure to define this struct and the other used
>>>>>> by it in the image but my NB call returned with 87 code (Invalid parameter)
>>>>>> and it was impossible to debug. However, I would like to make this thing
>>>>>> work to understand what went wrong.
>>>>>>
>>>>>
>>>>> Has this something to do with 32|64 bit library complications?
>>>>>
>>>>
>>>> Not exactly. For me, it was more related to the fact that I had to map
>>>> a complex C struct in Pharo. Here is an excerpt of the definition from MSDN:
>>>>
>>>> typedef struct _IP_ADAPTER_INFO {
>>>> struct _IP_ADAPTER_INFO *Next;
>>>> ...
>>>> PIP_ADDR_STRING CurrentIpAddress;
>>>> IP_ADDR_STRING GatewayList;
>>>> ...
>>>> }
>>>>
>>>> So, I had to define three external structures (all names in capitals)
>>>> and I did the effort but in the end I got an error code that I could not
>>>> debug in the image. Hence, I gave up and opted to go in the native
>>>> environment. But I would like someone knowledgable to have a look at my
>>>> nativeboost code because the nativeboost approach is more simple
>>>> (everything's in the image).
>>>>
>>>
>>> I can have a look.
>>>
>>> btw. for what do you need the mac address?
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>> usman
>>>>
>>>>
>>>>>
>>>>> Phil
>>>>>
>>>>>>
>>>>>> With ProcessWrapper, I could not load the classes essential for
>>>>>> making the plugin work.
>>>>>>
>>>>>> HTH,
>>>>>>
>>>>>> Usman
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, May 4, 2015 at 2:54 PM, Ben Coman <btc(a)openinworld.com>
>>>>>> wrote:
>>>>>>
>>>>>>> As a complete newb to VM building I found this fairly straight
>>>>>>> forward (on a Mac btw).
>>>>>>> https://github.com/pharo-project/pharo-vm
>>>>>>> cheers -ben
>>>>>>>
>>>>>>> On Mon, May 4, 2015 at 5:28 PM, Usman Bhatti <usman.bhatti(a)gmail.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, May 3, 2015 at 4:22 PM, Pierce Ng <pierce(a)samadhiweb.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> On Sat, May 02, 2015 at 03:55:47PM +0200, Usman Bhatti wrote:
>>>>>>>>> > 1/ OSProcess: I tried (PipeableOSProcess command: 'ipconfig
>>>>>>>>> /all') output.
>>>>>>>>>
>>>>>>>>> I have used http://www.smalltalkhub.com/#!/~hernan/ProcessWrapper
>>>>>>>>> successfully
>>>>>>>>> back when I was on Windows using some now-ancient version of Pharo.
>>>>>>>>>
>>>>>>>>
>>>>>>>> I had initially discarded the idea of using this project because it
>>>>>>>> required a plugin and the information of the plugin was outdated on
>>>>>>>> squeaksource. However, having evaluated superficially the complexity of
>>>>>>>> doing it with nativeboost (because too many external c struct involved in
>>>>>>>> the call), I would like to see if I am better off using this wrapper.
>>>>>>>>
>>>>>>>> I loaded it with:
>>>>>>>>
>>>>>>>> Gofer it
>>>>>>>> url: 'http://www.smalltalkhub.com/mc/hernan/ProcessWrapper/main';
>>>>>>>> package: 'ProcessWrapper-Core';
>>>>>>>> package: 'ProcessWrapper-Plugin';
>>>>>>>> package: 'ProcessWrapper-Tests';
>>>>>>>> load.
>>>>>>>>
>>>>>>>> But the plugins wont load because it requires the
>>>>>>>> class SmartSyntaxInterpreterPlugin and apparently this file is a part of
>>>>>>>> the VMMaker. Is there any recent config for VMMaker in Pharo because this
>>>>>>>> one looks outdated:
>>>>>>>>
>>>>>>>> http://pharo.gemtalksystems.com/book/Virtual-Machine/Building/VMMakerTool/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Pierce
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
>
May 6, 2015