Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- 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
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
November 2013
- 97 participants
- 1846 messages
Re: [Pharo-dev] help needed with fixing the SpecDebugger
by Camillo Bruni
On 2013-11-12, at 09:50, Clément Bera <bera.clement(a)gmail.com> wrote:
> Camillo we should have a look together.
>
> Are you at work today ?
yes I will come in the afternoon, but I think I have very little time this week.
I have to push some phd organization things first...
Nov. 12, 2013
Re: [Pharo-dev] help needed with fixing the SpecDebugger
by Clément Bera
I added a slice and a comment here:
https://pharo.fogbugz.com/f/cases/12055/
Can you check if this works for you ?
2013/11/12 Tudor Girba <tudor(a)tudorgirba.com>
> That would be very much appreciated.
>
> I would also be interested in the approach you took to debug the problem.
> It would make for a nice assessment case study.
>
> Cheers,
> Doru
>
>
>
>
> On Tue, Nov 12, 2013 at 9:50 AM, Clément Bera <bera.clement(a)gmail.com>wrote:
>
>> Camillo we should have a look together.
>>
>> Are you at work today ?
>>
>>
>> 2013/11/11 Tudor Girba <tudor(a)tudorgirba.com>
>>
>>> Hi,
>>>
>>> I need a bit of help with the issue of the SpecDebugger relying on the
>>> default inspector being implemented in Spec.
>>>
>>> I investigated a bit, but now I am stuck. Details here:
>>> https://pharo.fogbugz.com/f/cases/12055/
>>>
>>> Can anyone look at it?
>>>
>>> Cheers,
>>> Doru
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Every thing has its own flow"
>>>
>>
>>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>
Nov. 12, 2013
Re: [Pharo-dev] Coming back from holidays next week...
by Camillo Bruni
dammit! ;) then I have to do some night shifts :P
I think we will be busy enough with all the pending bugs in the image...
On 2013-11-12, at 13:10, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
> ... and I do not want to scare anyone, but the first TODO I have in my list is "Freeze Pharo3 development, move from Alpha to Beta".
> That means: no new stuff, just stabilization... so if you have some cool thing that you want to see in next major release, push it now!
>
> Esteban
>
>
Nov. 12, 2013
Coming back from holidays next week...
by Esteban Lorenzano
... and I do not want to scare anyone, but the first TODO I have in my list is "Freeze Pharo3 development, move from Alpha to Beta".
That means: no new stuff, just stabilization... so if you have some cool thing that you want to see in next major release, push it now!
Esteban
Nov. 12, 2013
Re: [Pharo-dev] Spec new release :)
by Esteban Lorenzano
On Nov 12, 2013, at 4:22 AM, Benjamin <benjamin.vanryseghem.pharo(a)gmail.com> wrote:
> It is not necessary better, but it saves you from having hundreds of temp vars :)
>
> Ben
>
> On 12 Nov 2013, at 01:49, Stéphane Ducasse <stephane.ducasse(a)inria.fr> wrote:
>
>>>
>>> Example:
>>> aMenu addGroup: [ :aGroup |
>>> aGroup addItem: [ :anItem |
>>> anItem name: 'Browse Full';
>>> action: [ self browseSelectedObject ];
>>> shortcut: $b command mac | $b alt win | $b alt unix ].
>>> aGroup addItem: [ :anItem |
>>> anItem name: 'Browse Class';
>>> action: [ self browseSelectedObjectClass ] ] ].
>>>
>>
>> I do not see the value of passing block to add element to groups
>> why not the normal way i.e. passing an object. I do not get why executing
>> a block with an object is better?
he, I thought the same :)
>>
>> Stef
>>
>
Nov. 12, 2013
Re: [Pharo-dev] Questions about Athens
by kilon alios
Igor just for the record, I still have not figure out why I had this
problem in the first place. I was using self extent and that was giving me
a NB error as I posted in the first stack trace. I changed it to self
defaultExtent that returns a point with the default size of the area of the
Morph and voila it worked. I checked the Hierachy and Morph which is the
super class of Hyperion has an extent method so this should work. So I
think this may be an Athens bug after all.
So i changed the method from
checkSession
session == Smalltalk session ifFalse: [surface := AthensCairoSurface
extent: self extent . session := Smalltalk session ]
to
checkSession
session == Smalltalk session ifFalse: [surface := AthensCairoSurface
extent: self defaultExtent . session := Smalltalk session ]
and now it works properly for some strange reason. At first I thought it
was because there was no self extent method but now I see thats not the
case.
On Tue, Nov 12, 2013 at 1:20 PM, Igor Stasenko <siguctua(a)gmail.com> wrote:
>
>
>
> On 11 November 2013 21:47, kilon alios <kilon.alios(a)gmail.com> wrote:
>
>> Ignore my last messages. Apparently I had an error with my code I just
>> did not understand the error report. Everything works fone now.
>>
>
> :)
>
>
>> ΣÏÎ¹Ï 11 Îοε 2013 4:46 μ.μ., ο ÏÏήÏÏÎ·Ï "kilon alios" <
>> kilon.alios(a)gmail.com> ÎγÏαÏε:
>>
>> sorry previous stack was for slightly diffirent code this is the
>>> correct one
>>>
>>> UndefinedObject(Object)>>doesNotUnderstand: #drawDuring:
>>> Hyperion>>render
>>> Hyperion>>drawOn:
>>> FormCanvas(Canvas)>>draw:
>>> FormCanvas(Canvas)>>drawMorph:
>>> Hyperion(Morph)>>fullDrawOn: in Block: [ ...
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> Hyperion(Morph)>>fullDrawOn: in Block: [ ...
>>> BlockClosure>>on:do:
>>> Hyperion(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> SystemWindow(Morph)>>drawSubmorphsOn: in Block: [ :m | canvas
>>> fullDrawMorph: m ]
>>> Array(SequenceableCollection)>>reverseDo:
>>> SystemWindow(Morph)>>drawSubmorphsOn: in Block: [ :canvas | submorphs
>>> reverseDo: [ :m | canvas ful...etc...
>>> FormCanvas>>clipBy:during:
>>> SystemWindow(Morph)>>drawSubmorphsOn:
>>> SystemWindow(Morph)>>fullDrawOn: in Block: [ ...
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> SystemWindow(Morph)>>fullDrawOn: in Block: [ ...
>>> BlockClosure>>on:do:
>>> SystemWindow(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> WorldState>>drawWorld:submorphs:invalidAreasOn: in Block: drawWorld:
>>> aWorld submorphs: submorphs invalidArea...etc...
>>> Rectangle>>allAreasOutsideList:startingAt:do:
>>> Rectangle>>allAreasOutsideList:do:
>>> WorldState>>drawWorld:submorphs:invalidAreasOn: in Block: [ :dirtyRect |
>>> ...
>>>
>>>
>>>
>>> On Mon, Nov 11, 2013 at 4:43 PM, kilon alios <kilon.alios(a)gmail.com>wrote:
>>>
>>>> Igor I am trying your session code but it does not work for me. I still
>>>> get the red box of doom. This is the method
>>>>
>>>> checkSession
>>>>
>>>> session == Smalltalk session ifFalse: [
>>>> surface := surface := AthensCairoSurface extent: self extent. .
>>>> session := Smalltalk session.
>>>> ]
>>>>
>>>> and This is my full stack
>>>>
>>>> NBFFICallout class>>signalError:
>>>> NBFFICallout class(NBNativeCodeGen class)>>handleFailureIn:nativeCode:
>>>> NBFFICalloutAPI>>function:module:
>>>> AthensCairoSurface class(Object)>>nbCall:
>>>> AthensCairoSurface class>>primImage:width:height:
>>>> NBFFICallout class(NBNativeCodeGen class)>>retrySend:
>>>> AthensCairoSurface class>>extent:format:
>>>> AthensCairoSurface class>>extent:
>>>> Hyperion>>mouseDown:
>>>> Hyperion(Morph)>>handleMouseDown:
>>>> MouseButtonEvent>>sentTo:
>>>> Hyperion(Morph)>>handleEvent:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> Hyperion(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> SystemWindow(Morph)>>processEvent:using:
>>>> SystemWindow(Morph)>>processEvent:
>>>> SystemWindow>>mouseDown: in Block: [ ...
>>>> BlockClosure>>ensure:
>>>> SystemWindow>>mouseDown:
>>>> SystemWindow(Morph)>>handleMouseDown:
>>>> MouseButtonEvent>>sentTo:
>>>> SystemWindow(Morph)>>handleEvent:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> SystemWindow(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>
>>>>
>>>>
>>>> On Sat, Nov 2, 2013 at 12:01 PM, kilon alios <kilon.alios(a)gmail.com>wrote:
>>>>
>>>>> and here is the strange MNU that I was talking about earlier
>>>>>
>>>>> here is the full stack
>>>>>
>>>>> Hyperion(Object)>>doesNotUnderstand: #passenger
>>>>> PackageTreeModel>>acceptDroppingMorph:event:inMorph:
>>>>> MorphTreeMorph>>acceptDroppingMorph:event:
>>>>> MorphTreeMorph(Morph)>>handleDropMorph:
>>>>> DropEvent>>sentTo:
>>>>> MorphTreeMorph(Morph)>>handleEvent:
>>>>> MorphicEventDispatcher>>dispatchDropEvent:with:
>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>> MorphTreeMorph(Morph)>>processEvent:using:
>>>>> MorphicEventDispatcher>>dispatchDropEvent:with:
>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>> PanelMorph(Morph)>>processEvent:using:
>>>>> MorphicEventDispatcher>>dispatchDropEvent:with:
>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>> NautilusWindow(Morph)>>processEvent:using:
>>>>> MorphicEventDispatcher>>dispatchDropEvent:with:
>>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>>> WorldMorph(Morph)>>processEvent:using:
>>>>> WorldMorph(Morph)>>processEvent:
>>>>> HandMorph>>sendEvent:focus:clear:
>>>>> HandMorph>>sendEvent:focus:
>>>>> HandMorph>>dropMorph:event:
>>>>> HandMorph>>dropMorphs: in Block: [ :m | ...
>>>>> Array(SequenceableCollection)>>reverseDo:
>>>>> HandMorph(Morph)>>submorphsReverseDo:
>>>>> HandMorph>>dropMorphs:
>>>>> HandMorph>>handleEvent:
>>>>> HandMorph>>processEvents
>>>>> WorldState>>doOneCycleNowFor: in Block: [ :h | ...
>>>>> Array(SequenceableCollection)>>do:
>>>>>
>>>>>
>>>>> This one happens when I bring up the halos and try to move the morph
>>>>> around.Morphs gets deleted because of MNU. Note it does not happen with
>>>>> just my Class (Hyperion) it happens with any morph using Athens.
>>>>>
>>>>> Hyperion in this case is a partial copy of the AthensDemoMorph. As
>>>>> always I am using Pharo 3 (Latest update: #30534) .
>>>>>
>>>>>
>>>>> On Fri, Nov 1, 2013 at 7:14 PM, Igor Stasenko <siguctua(a)gmail.com>wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 1 November 2013 14:32, Stéphane Ducasse <stephane.ducasse(a)inria.fr
>>>>>> > wrote:
>>>>>>
>>>>>>> Ok now the explanation :)
>>>>>>> Spec changed recently in 30.
>>>>>>>
>>>>>>>
>>>>>> then i need help on that.. what is needs to be changed.
>>>>>> btw, i noticed that monticello configuration browser also having
>>>>>> problems with spec.
>>>>>>
>>>>>>
>>>>>>> Stef
>>>>>>>
>>>>>>>
>>>>>>> Again I am following Igor instructions, loaded Athens-Tutorial from
>>>>>>> smalltalkhub , opened a new workspace, AthensTutorial open. I am using a
>>>>>>> pharo 3 that downloaded just yesterday. (Pharo3.0 Latest update: #30532)
>>>>>>>
>>>>>>> here is the full stack
>>>>>>>
>>>>>>> AthensViewMorph(Object)>>doesNotUnderstand: #layout:
>>>>>>> SpecInterpreter>>actionToPerformWithSelector:arguments:
>>>>>>> SpecInterpreter>>performNextSelectorAndIncrementIndex
>>>>>>> SpecInterpreter>>interpretASpec:selector:
>>>>>>> SpecInterpreter>>interpretASpec:model:selector:
>>>>>>> SpecInterpreter class>>private_interpretASpec:model:selector:
>>>>>>> SpecInterpreter>>performNextSelectorAndIncrementIndex in Block: [
>>>>>>> :each | self class private_interpretASpec: each ...etc...
>>>>>>> Array(SequenceableCollection)>>collect:
>>>>>>> SpecInterpreter>>performNextSelectorAndIncrementIndex
>>>>>>> SpecInterpreter>>interpretASpec:selector:
>>>>>>> SpecInterpreter>>interpretASpec:model:selector:
>>>>>>> SpecInterpreter class>>private_interpretASpec:model:selector:
>>>>>>> SpecInterpreter class>>interpretASpec:model:selector: in Block: [
>>>>>>> result := self private_interpretASpec: aPresente...etc...
>>>>>>> BlockClosure>>ensure:
>>>>>>> SpecInterpreter class>>interpretASpec:model:selector:
>>>>>>> SpecInterpreter class>>interpretASpec:model:
>>>>>>> AthensTutorial(ComposableModel)>>buildWithSpecLayout:
>>>>>>> MorphicWindowAdapter>>addModelIn:withSpecLayout:
>>>>>>> MorphicWindowAdapter(AbstractAdapter)>>update:with:
>>>>>>> WindowModel(Object)>>changed:with: in Block: [ :aDependent |
>>>>>>> aDependent update: anAspect with: ...etc...
>>>>>>> DependentsArray>>do:
>>>>>>> WindowModel(Object)>>changed:with:
>>>>>>> WindowModel>>addModelIn:withSpecLayout:
>>>>>>> WindowModel>>buildWithSpecLayout:
>>>>>>> WindowModel>>openWithSpecLayout:
>>>>>>> AthensTutorial(ComposableModel)>>openWithSpecLayout:
>>>>>>> AthensTutorial(ComposableModel)>>openWithSpec:
>>>>>>> AthensTutorial(ComposableModel)>>openWithSpec
>>>>>>> AthensTutorial class>>open
>>>>>>> UndefinedObject>>DoIt
>>>>>>>
>>>>>>> Is that enough ?
>>>>>>>
>>>>>>> I am also getting another error from Athens from time to time, I
>>>>>>> will have to remember to capture it cause it appears randomly.
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Nov 1, 2013 at 1:42 PM, Stéphane Ducasse <
>>>>>>> stephane.ducasse(a)inria.fr> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> On Nov 1, 2013, at 10:02 AM, kilon alios <kilon.alios(a)gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Igor I got Athens-Tutorial but it gives me a MNU:
>>>>>>>> AthensViewMorph>>layout:
>>>>>>>>
>>>>>>>>
>>>>>>>> strange tell us more.
>>>>>>>> You know
>>>>>>>> which image
>>>>>>>> â¦.
>>>>>>>>
>>>>>>>> Stef
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Nov 1, 2013 at 10:23 AM, kilon alios <kilon.alios(a)gmail.com
>>>>>>>> > wrote:
>>>>>>>>
>>>>>>>>> ShivaVG looks definitely as a way to ease the pain of porting to
>>>>>>>>> OpenGL.
>>>>>>>>>
>>>>>>>>> Some notes on the matter. The Cairo backend for OpenGL is opengl
>>>>>>>>> but yet its not opengl. What it does is render cairo as a opengl texture.
>>>>>>>>> OpenGL true power is in the shaders so you dont get the kind of hardware
>>>>>>>>> acceleration you would expect.
>>>>>>>>>
>>>>>>>>> Speewise as surprising this may sound opengl is not the ideal
>>>>>>>>> option, because opengl is mainly 3d orientated. The ideal solution from
>>>>>>>>> what I have seen would be something like CUDA or OpenCL, that give direct
>>>>>>>>> access to the GPU cores and allow you to do any kind of computation thus
>>>>>>>>> liberation from the restrictions of APIs. For example Blender takes
>>>>>>>>> advantage of both Opengl and CUDA , the CUDA renderer is phenomenal better
>>>>>>>>> because of its flexibility.
>>>>>>>>>
>>>>>>>>> The problem however is that all that are very technical and it
>>>>>>>>> takes quite some dedication to implement.
>>>>>>>>>
>>>>>>>>> A reason why I abandoned opengl as an idea is that I came to
>>>>>>>>> realise that Cairo was already fast enough for my needs. But I still keep
>>>>>>>>> that door open for the distant future, ShivaVG with OpenCL would be awesome
>>>>>>>>> for really intensive GUIs and complex Graphics and definitely would love to
>>>>>>>>> give it another try eventually.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Nov 1, 2013 at 2:19 AM, Igor Stasenko <siguctua(a)gmail.com>wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 1 November 2013 00:53, Alexandre Bergel <
>>>>>>>>>> alexandre.bergel(a)me.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Not sure to fully understand the problem. In what ShivaVG would
>>>>>>>>>>> solve a situation better than with Athens? If I understand well, a then
>>>>>>>>>>> working with Cairo uses the hardware acceleration right?
>>>>>>>>>>> What is it not enough for you need?
>>>>>>>>>>>
>>>>>>>>>>> First, OpenVG is more complete and i would say thoroughly
>>>>>>>>>> designed API than Cairo.
>>>>>>>>>> Second, i don't want to go Athens -> Cairo -> OpenGL
>>>>>>>>>> if i can do directly Athens->OpenGL.
>>>>>>>>>> Putting extra dependency out of the loop is advantageous, OpenGL
>>>>>>>>>> is widely supported industry standard, which today you can find even on
>>>>>>>>>> portable devices, while you cannot say same about Cairo.
>>>>>>>>>> (not mentioning avoiding costs of having multiple layers to get
>>>>>>>>>> to the hardware).
>>>>>>>>>>
>>>>>>>>>> ShivaVG implements OpenVG API using OpenGL, since OpenVG is
>>>>>>>>>> vector graphics framework
>>>>>>>>>> it can serve as a good source to look how to implement OpenGL
>>>>>>>>>> backend for Athens.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Alexandre
>>>>>>>>>>>
>>>>>>>>>>> > Le 31-10-2013 Ã 19:16, Igor Stasenko <siguctua(a)gmail.com> a
>>>>>>>>>>> écrit :
>>>>>>>>>>> >
>>>>>>>>>>> > I cannot say, of course, how it would be for you, but there is
>>>>>>>>>>> ShivaVG[1] open-source
>>>>>>>>>>> > opengl implementation of OpenVG, more or less feature-complete,
>>>>>>>>>>> > so all what is needed is to port this code from C to smalltalk.
>>>>>>>>>>> > Or if not for porting, but using as a source of insights how
>>>>>>>>>>> to implement it.
>>>>>>>>>>> > I think it is fairly doable.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Best regards,
>>>>>>>>>> Igor Stasenko.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Best regards,
>>>>>> Igor Stasenko.
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>
>
> --
> Best regards,
> Igor Stasenko.
>
Nov. 12, 2013
petit parser repository
by Camillo Bruni
I setup the pharo-contribution build [1] to use the petitparser configuration
from moose [2]. However for a strange reason the tests package is not available
under Pharo 2.0 with the #stable version.
Any clue?
For now I just deactivated the combination 2.0 + stable.
[1] https://ci.inria.fr/pharo-contribution/job/PetitParser/
[2] http://smalltalkhub.com/mc/Moose/PetitParser/main/
Nov. 12, 2013
Re: [Pharo-dev] NativeBoost: Documentation Suggestion and Question
by Igor Stasenko
On 12 November 2013 02:43, Sean P. DeNigris <sean(a)clipperadams.com> wrote:
> Sean P. DeNigris wrote
> > Using the presentation, I tried to communicate with the portaudio lib
> (OSX
> > 10.8.5, lib installed with brew).
> > ...
> > Thanks in advance for any guidance...
>
> Bump. btw I should mention that the error was "function unavailable"
>
>
> sorry, i was out on weekend..
first thing to do is to:
file youlib.dylib
and check it is 32-bit compatible.
and second is nbGetSymbolAddress: aName module: aModuleNameOrHandle
you can also try to use #ioLoadModule: method
to check if library can be loaded.
with mangled symbols things are a bit tricky.. sometimes it extra
underscore..
sometimes even two of them..
on mac, use otool to figure exported symbols.
>
> -----
> Cheers,
> Sean
> --
> View this message in context:
> http://forum.world.st/NativeBoost-Documentation-Suggestion-and-Question-tp4…
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>
--
Best regards,
Igor Stasenko.
Nov. 12, 2013
Re: [Pharo-dev] Questions about Athens
by Igor Stasenko
On 11 November 2013 21:47, kilon alios <kilon.alios(a)gmail.com> wrote:
> Ignore my last messages. Apparently I had an error with my code I just did
> not understand the error report. Everything works fone now.
>
:)
> ΣÏÎ¹Ï 11 Îοε 2013 4:46 μ.μ., ο ÏÏήÏÏÎ·Ï "kilon alios" <kilon.alios(a)gmail.com>
> ÎγÏαÏε:
>
> sorry previous stack was for slightly diffirent code this is the correct
>> one
>>
>> UndefinedObject(Object)>>doesNotUnderstand: #drawDuring:
>> Hyperion>>render
>> Hyperion>>drawOn:
>> FormCanvas(Canvas)>>draw:
>> FormCanvas(Canvas)>>drawMorph:
>> Hyperion(Morph)>>fullDrawOn: in Block: [ ...
>> FormCanvas>>roundCornersOf:in:during:
>> FormCanvas(Canvas)>>roundCornersOf:during:
>> Hyperion(Morph)>>fullDrawOn: in Block: [ ...
>> BlockClosure>>on:do:
>> Hyperion(Morph)>>fullDrawOn:
>> FormCanvas(Canvas)>>fullDraw:
>> FormCanvas(Canvas)>>fullDrawMorph:
>> SystemWindow(Morph)>>drawSubmorphsOn: in Block: [ :m | canvas
>> fullDrawMorph: m ]
>> Array(SequenceableCollection)>>reverseDo:
>> SystemWindow(Morph)>>drawSubmorphsOn: in Block: [ :canvas | submorphs
>> reverseDo: [ :m | canvas ful...etc...
>> FormCanvas>>clipBy:during:
>> SystemWindow(Morph)>>drawSubmorphsOn:
>> SystemWindow(Morph)>>fullDrawOn: in Block: [ ...
>> FormCanvas>>roundCornersOf:in:during:
>> FormCanvas(Canvas)>>roundCornersOf:during:
>> SystemWindow(Morph)>>fullDrawOn: in Block: [ ...
>> BlockClosure>>on:do:
>> SystemWindow(Morph)>>fullDrawOn:
>> FormCanvas(Canvas)>>fullDraw:
>> FormCanvas(Canvas)>>fullDrawMorph:
>> WorldState>>drawWorld:submorphs:invalidAreasOn: in Block: drawWorld:
>> aWorld submorphs: submorphs invalidArea...etc...
>> Rectangle>>allAreasOutsideList:startingAt:do:
>> Rectangle>>allAreasOutsideList:do:
>> WorldState>>drawWorld:submorphs:invalidAreasOn: in Block: [ :dirtyRect |
>> ...
>>
>>
>>
>> On Mon, Nov 11, 2013 at 4:43 PM, kilon alios <kilon.alios(a)gmail.com>wrote:
>>
>>> Igor I am trying your session code but it does not work for me. I still
>>> get the red box of doom. This is the method
>>>
>>> checkSession
>>>
>>> session == Smalltalk session ifFalse: [
>>> surface := surface := AthensCairoSurface extent: self extent. .
>>> session := Smalltalk session.
>>> ]
>>>
>>> and This is my full stack
>>>
>>> NBFFICallout class>>signalError:
>>> NBFFICallout class(NBNativeCodeGen class)>>handleFailureIn:nativeCode:
>>> NBFFICalloutAPI>>function:module:
>>> AthensCairoSurface class(Object)>>nbCall:
>>> AthensCairoSurface class>>primImage:width:height:
>>> NBFFICallout class(NBNativeCodeGen class)>>retrySend:
>>> AthensCairoSurface class>>extent:format:
>>> AthensCairoSurface class>>extent:
>>> Hyperion>>mouseDown:
>>> Hyperion(Morph)>>handleMouseDown:
>>> MouseButtonEvent>>sentTo:
>>> Hyperion(Morph)>>handleEvent:
>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>> MorphicEventDispatcher>>dispatchEvent:with:
>>> Hyperion(Morph)>>processEvent:using:
>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>> MorphicEventDispatcher>>dispatchEvent:with:
>>> SystemWindow(Morph)>>processEvent:using:
>>> SystemWindow(Morph)>>processEvent:
>>> SystemWindow>>mouseDown: in Block: [ ...
>>> BlockClosure>>ensure:
>>> SystemWindow>>mouseDown:
>>> SystemWindow(Morph)>>handleMouseDown:
>>> MouseButtonEvent>>sentTo:
>>> SystemWindow(Morph)>>handleEvent:
>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>> MorphicEventDispatcher>>dispatchEvent:with:
>>> SystemWindow(Morph)>>processEvent:using:
>>> MorphicEventDispatcher>>dispatchMouseDown:with:
>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>
>>>
>>>
>>> On Sat, Nov 2, 2013 at 12:01 PM, kilon alios <kilon.alios(a)gmail.com>wrote:
>>>
>>>> and here is the strange MNU that I was talking about earlier
>>>>
>>>> here is the full stack
>>>>
>>>> Hyperion(Object)>>doesNotUnderstand: #passenger
>>>> PackageTreeModel>>acceptDroppingMorph:event:inMorph:
>>>> MorphTreeMorph>>acceptDroppingMorph:event:
>>>> MorphTreeMorph(Morph)>>handleDropMorph:
>>>> DropEvent>>sentTo:
>>>> MorphTreeMorph(Morph)>>handleEvent:
>>>> MorphicEventDispatcher>>dispatchDropEvent:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> MorphTreeMorph(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchDropEvent:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> PanelMorph(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchDropEvent:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> NautilusWindow(Morph)>>processEvent:using:
>>>> MorphicEventDispatcher>>dispatchDropEvent:with:
>>>> MorphicEventDispatcher>>dispatchEvent:with:
>>>> WorldMorph(Morph)>>processEvent:using:
>>>> WorldMorph(Morph)>>processEvent:
>>>> HandMorph>>sendEvent:focus:clear:
>>>> HandMorph>>sendEvent:focus:
>>>> HandMorph>>dropMorph:event:
>>>> HandMorph>>dropMorphs: in Block: [ :m | ...
>>>> Array(SequenceableCollection)>>reverseDo:
>>>> HandMorph(Morph)>>submorphsReverseDo:
>>>> HandMorph>>dropMorphs:
>>>> HandMorph>>handleEvent:
>>>> HandMorph>>processEvents
>>>> WorldState>>doOneCycleNowFor: in Block: [ :h | ...
>>>> Array(SequenceableCollection)>>do:
>>>>
>>>>
>>>> This one happens when I bring up the halos and try to move the morph
>>>> around.Morphs gets deleted because of MNU. Note it does not happen with
>>>> just my Class (Hyperion) it happens with any morph using Athens.
>>>>
>>>> Hyperion in this case is a partial copy of the AthensDemoMorph. As
>>>> always I am using Pharo 3 (Latest update: #30534) .
>>>>
>>>>
>>>> On Fri, Nov 1, 2013 at 7:14 PM, Igor Stasenko <siguctua(a)gmail.com>wrote:
>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 1 November 2013 14:32, Stéphane Ducasse <stephane.ducasse(a)inria.fr>wrote:
>>>>>
>>>>>> Ok now the explanation :)
>>>>>> Spec changed recently in 30.
>>>>>>
>>>>>>
>>>>> then i need help on that.. what is needs to be changed.
>>>>> btw, i noticed that monticello configuration browser also having
>>>>> problems with spec.
>>>>>
>>>>>
>>>>>> Stef
>>>>>>
>>>>>>
>>>>>> Again I am following Igor instructions, loaded Athens-Tutorial from
>>>>>> smalltalkhub , opened a new workspace, AthensTutorial open. I am using a
>>>>>> pharo 3 that downloaded just yesterday. (Pharo3.0 Latest update: #30532)
>>>>>>
>>>>>> here is the full stack
>>>>>>
>>>>>> AthensViewMorph(Object)>>doesNotUnderstand: #layout:
>>>>>> SpecInterpreter>>actionToPerformWithSelector:arguments:
>>>>>> SpecInterpreter>>performNextSelectorAndIncrementIndex
>>>>>> SpecInterpreter>>interpretASpec:selector:
>>>>>> SpecInterpreter>>interpretASpec:model:selector:
>>>>>> SpecInterpreter class>>private_interpretASpec:model:selector:
>>>>>> SpecInterpreter>>performNextSelectorAndIncrementIndex in Block: [
>>>>>> :each | self class private_interpretASpec: each ...etc...
>>>>>> Array(SequenceableCollection)>>collect:
>>>>>> SpecInterpreter>>performNextSelectorAndIncrementIndex
>>>>>> SpecInterpreter>>interpretASpec:selector:
>>>>>> SpecInterpreter>>interpretASpec:model:selector:
>>>>>> SpecInterpreter class>>private_interpretASpec:model:selector:
>>>>>> SpecInterpreter class>>interpretASpec:model:selector: in Block: [
>>>>>> result := self private_interpretASpec: aPresente...etc...
>>>>>> BlockClosure>>ensure:
>>>>>> SpecInterpreter class>>interpretASpec:model:selector:
>>>>>> SpecInterpreter class>>interpretASpec:model:
>>>>>> AthensTutorial(ComposableModel)>>buildWithSpecLayout:
>>>>>> MorphicWindowAdapter>>addModelIn:withSpecLayout:
>>>>>> MorphicWindowAdapter(AbstractAdapter)>>update:with:
>>>>>> WindowModel(Object)>>changed:with: in Block: [ :aDependent |
>>>>>> aDependent update: anAspect with: ...etc...
>>>>>> DependentsArray>>do:
>>>>>> WindowModel(Object)>>changed:with:
>>>>>> WindowModel>>addModelIn:withSpecLayout:
>>>>>> WindowModel>>buildWithSpecLayout:
>>>>>> WindowModel>>openWithSpecLayout:
>>>>>> AthensTutorial(ComposableModel)>>openWithSpecLayout:
>>>>>> AthensTutorial(ComposableModel)>>openWithSpec:
>>>>>> AthensTutorial(ComposableModel)>>openWithSpec
>>>>>> AthensTutorial class>>open
>>>>>> UndefinedObject>>DoIt
>>>>>>
>>>>>> Is that enough ?
>>>>>>
>>>>>> I am also getting another error from Athens from time to time, I will
>>>>>> have to remember to capture it cause it appears randomly.
>>>>>>
>>>>>>
>>>>>> On Fri, Nov 1, 2013 at 1:42 PM, Stéphane Ducasse <
>>>>>> stephane.ducasse(a)inria.fr> wrote:
>>>>>>
>>>>>>>
>>>>>>> On Nov 1, 2013, at 10:02 AM, kilon alios <kilon.alios(a)gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Igor I got Athens-Tutorial but it gives me a MNU:
>>>>>>> AthensViewMorph>>layout:
>>>>>>>
>>>>>>>
>>>>>>> strange tell us more.
>>>>>>> You know
>>>>>>> which image
>>>>>>> â¦.
>>>>>>>
>>>>>>> Stef
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Nov 1, 2013 at 10:23 AM, kilon alios <kilon.alios(a)gmail.com>wrote:
>>>>>>>
>>>>>>>> ShivaVG looks definitely as a way to ease the pain of porting to
>>>>>>>> OpenGL.
>>>>>>>>
>>>>>>>> Some notes on the matter. The Cairo backend for OpenGL is opengl
>>>>>>>> but yet its not opengl. What it does is render cairo as a opengl texture.
>>>>>>>> OpenGL true power is in the shaders so you dont get the kind of hardware
>>>>>>>> acceleration you would expect.
>>>>>>>>
>>>>>>>> Speewise as surprising this may sound opengl is not the ideal
>>>>>>>> option, because opengl is mainly 3d orientated. The ideal solution from
>>>>>>>> what I have seen would be something like CUDA or OpenCL, that give direct
>>>>>>>> access to the GPU cores and allow you to do any kind of computation thus
>>>>>>>> liberation from the restrictions of APIs. For example Blender takes
>>>>>>>> advantage of both Opengl and CUDA , the CUDA renderer is phenomenal better
>>>>>>>> because of its flexibility.
>>>>>>>>
>>>>>>>> The problem however is that all that are very technical and it
>>>>>>>> takes quite some dedication to implement.
>>>>>>>>
>>>>>>>> A reason why I abandoned opengl as an idea is that I came to
>>>>>>>> realise that Cairo was already fast enough for my needs. But I still keep
>>>>>>>> that door open for the distant future, ShivaVG with OpenCL would be awesome
>>>>>>>> for really intensive GUIs and complex Graphics and definitely would love to
>>>>>>>> give it another try eventually.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Nov 1, 2013 at 2:19 AM, Igor Stasenko <siguctua(a)gmail.com>wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 1 November 2013 00:53, Alexandre Bergel <
>>>>>>>>> alexandre.bergel(a)me.com> wrote:
>>>>>>>>>
>>>>>>>>>> Not sure to fully understand the problem. In what ShivaVG would
>>>>>>>>>> solve a situation better than with Athens? If I understand well, a then
>>>>>>>>>> working with Cairo uses the hardware acceleration right?
>>>>>>>>>> What is it not enough for you need?
>>>>>>>>>>
>>>>>>>>>> First, OpenVG is more complete and i would say thoroughly
>>>>>>>>> designed API than Cairo.
>>>>>>>>> Second, i don't want to go Athens -> Cairo -> OpenGL
>>>>>>>>> if i can do directly Athens->OpenGL.
>>>>>>>>> Putting extra dependency out of the loop is advantageous, OpenGL
>>>>>>>>> is widely supported industry standard, which today you can find even on
>>>>>>>>> portable devices, while you cannot say same about Cairo.
>>>>>>>>> (not mentioning avoiding costs of having multiple layers to get
>>>>>>>>> to the hardware).
>>>>>>>>>
>>>>>>>>> ShivaVG implements OpenVG API using OpenGL, since OpenVG is vector
>>>>>>>>> graphics framework
>>>>>>>>> it can serve as a good source to look how to implement OpenGL
>>>>>>>>> backend for Athens.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Alexandre
>>>>>>>>>>
>>>>>>>>>> > Le 31-10-2013 Ã 19:16, Igor Stasenko <siguctua(a)gmail.com> a
>>>>>>>>>> écrit :
>>>>>>>>>> >
>>>>>>>>>> > I cannot say, of course, how it would be for you, but there is
>>>>>>>>>> ShivaVG[1] open-source
>>>>>>>>>> > opengl implementation of OpenVG, more or less feature-complete,
>>>>>>>>>> > so all what is needed is to port this code from C to smalltalk.
>>>>>>>>>> > Or if not for porting, but using as a source of insights how to
>>>>>>>>>> implement it.
>>>>>>>>>> > I think it is fairly doable.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Best regards,
>>>>>>>>> Igor Stasenko.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best regards,
>>>>> Igor Stasenko.
>>>>>
>>>>
>>>>
>>>
>>
--
Best regards,
Igor Stasenko.
Nov. 12, 2013
Re: [Pharo-dev] [Edu] 3-day project with high school students
by J.F. Rick
Here are some systems that come to mind, though not necessarily related to
Pharo:
Gidget
Scratch
Greenfoot
Looking Glass
Cheers,
Jeff
On Wed, Nov 6, 2013 at 12:37 PM, roberto.minelli(a)usi.ch <
roberto.minelli(a)usi.ch> wrote:
> Hi,
>
> I would like to hear an opinion from you. I need to organize a 3-day
> project with high-school students. In short they will come to our
> University and I am the responsible to guide them to do âsomethingâ to
> introduce them to programming.
>
> The assumption is that they have zero background about programming. In
> this mailing list Iâve read a couple of previous discussions about how to
> start to use Pharo and ST for educational purposes, but Iâd love to collect
> additional opinions.
>
> Visual programming is one of the thing that came to my mind. I though
> about Phratch. Michele suggested me to look also at Etoys (squeakland.org)
> and I will start to look at thesee two tools in the next days.
>
> Any opinion, proposal, tool, article, suggestion, hint on the topic is
> really welcome.
>
> Thanks in advance,
> Roberto
>
>
>
--
Jochen "Jeff" Rick, Ph.D.
http://www.je77.com/
Skype ID: jochenrick
Nov. 12, 2013