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] Problems in switching from Moose 5.0 (Pharo 3) to Moose 5.1 (Pharo 4)
by PBKResearch
Vincent
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.
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?
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>
mailto:pharo-users-bounces@lists.pharo.org] De la part de PBKResearch
Envoyé : mardi 5 mai 2015 18:01
à : <mailto:pharo-users@lists.pharo.org> pharo-users(a)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.
May 6, 2015
Re: [Pharo-users] mac address on windows
by 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.
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] [ANN] Idea icon pack now in Configuration Browser
by Esteban Lorenzano
I made a pass and changed flag and halt icons.
Not sure, but they will *probably* work better⦠weâll see.
Esteban
> On 05 May 2015, at 18:32, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
>
>
>> On 05 May 2015, at 18:04, phil(a)highoctane.be <mailto:phil@highoctane.be> wrote:
>>
>> While we are at it, the icon for methods with a
>>
>> self flag: #SomeSymbol
>>
>> is a bit hard.. Can't we have the flags back? The danger sign isn't too appropriate.
>
> nope, the flags are gone for good⦠they were ugly even before :) (and they have white borders so not good for dark theme)
> the sign Iâm using is a âwarningâ sign⦠is kind of appropriate, but I can search for something less âbig".
>
>> and
>>
>> self halt.
>>
>> which gives a kind of strange circle isn't too nice either.
>
> is a breakpoint sign in Idea set⦠so again⦠is appropriate but probably to big or strong. I can search something better, but I do not ensure a result :)
>
>>
>> Are there icons in the set that would fit better?
>
> Well⦠those are the ones I found more appropriate, I did not chose them random or without thought.
> But, I will do a re-pass⦠and maybe I will modify some icon.
> Not that I have all the time of the world, but eventually I will have insomnia again :)
>
> Esteban
>
>>
>> Phil
>>
>>
>>
>> On Tue, May 5, 2015 at 5:59 PM, Offray Vladimir Luna Cárdenas <offray(a)riseup.net <mailto:offray@riseup.net>> wrote:
>> Hi,
>>
>> El 04/05/15 a las 18:05, Esteban Lorenzano escribió:
>>
>> On 05 May 2015, at 01:10, Offray Vladimir Luna Cárdenas <offray(a)riseup.net <mailto:offray@riseup.net>
>> <mailto:offray@riseup.net <mailto:offray@riseup.net>>> wrote:
>>
>> May be the small icon of the glasses works better now that the print preview
>> is not "polluting" the writing of code, but has a tooltip with glasses on it.
>>
>> no, because thatâs the icon for âinspectâ and what you see there is is
>> playground specific: is showing the result and offering you the possibility of
>> inspect it, yet the glasses.
>>
>> Esteban
>>
>>
>> Ok. It was just an idea. Maybe something else will work, a "play" icon with a "page" or "print" icon. What is wise is that slightly different actions have slightly different icons.
>>
>> Cheers,
>>
>> Offray
>>
>>
>>
>>
>>
>>
>>
>
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é : mardi 5 mai 2015 18:01
à : pharo-users(a)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.
May 6, 2015
Re: [Pharo-users] mac address on windows
by Usman Bhatti
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?
>
hardware lock.
>
>
>
>>
>>
>>
>> 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 Usman Bhatti
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 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
May 6, 2015
WebSocket and Proxying ...
by itlists@schrievkrom.de
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
May 6, 2015
Re: [Pharo-users] mac address on windows
by Thierry Goubier
2015-05-06 9:57 GMT+02:00 Usman Bhatti <usman.bhatti(a)gmail.com>:
> On Tue, May 5, 2015 at 7:54 PM, Thierry Goubier <thierry.goubier(a)gmail.com
> > wrote:
>
>> Le 05/05/2015 18:28, Usman Bhatti a écrit :
>>
>>> 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).
>>>
>>> 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.
>>>
>>> With ProcessWrapper, I could not load the classes essential for making
>>> the plugin work.
>>>
>>
>> ProcessWrapper is loaded with GitFileTree in Pharo3 and Pharo4.
>>
>> Can you detail what doesn't work?
>
>
> When doing:
>
> Gofer it
> url: 'http://www.smalltalkhub.com/mc/hernan/ProcessWrapper/main';
> package: 'ProcessWrapper-Core';
> package: 'ProcessWrapper-Plugin';
> package: 'ProcessWrapper-Tests';
> load.
>
> Plugin classes couldn't be loaded because they require SmartSyntaxInterpreterPlugin
> class. I found a few posts mentioning that the class should be present in
> the VMMaker but I didn't dig further.
>
Ok.
Metacello new
configuration: 'ProcessWrapper';
repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPhar40/Main';
load
Is what I use.
As far as I can see, ProcessWrapper-Plugin has little use; it contains only
primitives which are in ProcessWrapper-Core. The plugin is automatically
downloaded when you use the configuration, which means your Gofer script
doesn't work.
The configuration in the Meta repository is one version late compared to
the Smalltalkhub repository configuration. Hernan, should I update the
configuration in the Meta repository?
Regards,
Thierry
>
> regards.
>
>
>>
>>
>> Thierry
>>
>>
>>> 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
>>> 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
>>> 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 Nicolai Hess
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