Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- November
- October
- September
- 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
- 3 participants
- 144636 messages
Re: [Pharo-dev] Help with FFI crash in latest Spur (only in Linux)
by Mariano Martinez Peck
On Sat, Jan 9, 2016 at 4:15 PM, Eliot Miranda <eliot.miranda(a)gmail.com>
wrote:
> Mariano,
>
> if you followed the approach I described recently you wouldn't be
> having these problems. Instead, the system would be generating the
> information you need to know about sizes for you automatically. Eventually
> you're going to have to grasp the nettle of how to import platform-specific
> information such as structure sizes, values of $defines, layout of structs,
> etc, etc. I presented a straightforward approach but you've yet to comment
> on it.
>
>
Hi Eliot,
I read all that thread carefully and indeed, I would like to comment on it.
Please, give me some time and I will share my thoughts.
Thanks!
> On Sat, Jan 9, 2016 at 4:54 AM, Mariano Martinez Peck <
> marianopeck(a)gmail.com> wrote:
>
>> Hi Ben, allf
>>
>> Ok, I can also confirm that doing ExternalAddress allocate: 76 does work
>> in Linux. And yes, since it's opaque I don't have to map it and just
>> allocating the correct size is enough.
>> I expect this would work in all GNU libc (glibc) based UNIXses.
>> Esteban, well, I thought the init function would do both, allocate and
>> init, but in glibc it seems it only init. In OSX it seems it does both. But
>> from the API point of view it's not explicit that they should allocate the
>> space.
>>
>> Anyway, I think we get this working this time. Thanks all for the help.
>>
>> Now the problem I am facing (in Linux) is that my none blocking pipes do
>> not seem to be none blocking or either feof() call is not working as
>> expected. Ok, I have to deal with this one now.
>>
>> Thanks!!
>>
>>
>> On Sat, Jan 9, 2016 at 9:44 AM, Ben Coman <btc(a)openinworld.com> wrote:
>>
>>> On Sat, Jan 9, 2016 at 12:15 PM, Ben Coman <btc(a)openinworld.com> wrote:
>>> > On Sat, Jan 9, 2016 at 7:12 AM, Mariano Martinez Peck
>>> > <marianopeck(a)gmail.com> wrote:
>>> >>
>>> >> On Jan 8, 2016 4:13 PM, "Ben Coman" <btc(a)openinworld.com> wrote:
>>> >>>
>>> >>> On Sat, Jan 9, 2016 at 2:04 AM, Mariano Martinez Peck
>>> >>> <marianopeck(a)gmail.com> wrote:
>>> >>> > Hi guys,
>>> >>> >
>>> >>> > I wonder if someone could give me a hand to find out why a FFI
>>> calling I
>>> >>> > am
>>> >>> > doing is crashing. In OSX it works correct but I am testing in
>>> CentOS
>>> >>> > and it
>>> >>> > fails. I wonder if it also crashes in other Linuxes too.
>>> >>>
>>> >>> I only had enough time to run it a few time so you know it also
>>> >>> crashes in Debian Jessie 32-bit. There were no debug logs. I got
>>> >>> these sorts of messages...
>>> >>>
>>> >>
>>> >> Thanks!
>>> >>
>>> >>> *** Error in `/home/ben/tst/pharo-vm/pharo': free(): invalid next
>>> size
>>> >>> (fast): 0x08841a70 ***
>>> >>>
>>> >>> pharo: malloc.c:3695: _int_malloc: Assertion `(unsigned long) (size)
>>> >>> >= (unsigned long) (nb)' failed.
>>> >>> *** Error in `/home/ben/tst/pharo-vm/pharo': malloc(): memory
>>> >>> corruption: 0x0984c1e0 ***
>>> >>>
>>> >>>
>>> >>> Searching github for "posix_spawn_file_actions_init "
>>> >>> (https://git.io/vuSPL)
>>> >>> I see a lot a function definitions of the form...
>>> >>> int posix_spawn_file_actions_init(posix_spawn_file_actions_t *fa)
>>> >>> {
>>> >>> fa->__actions = 0;
>>> >>> return 0;
>>> >>> }
>>> >>>
>>> >>> ...so it seems you need to first allocate the space for the struct
>>> and
>>> >>> then pass the address of that.
>>> >>
>>> >> I thought the same. But I also read in glibc that that the init and
>>> destroy
>>> >> would free and alloc exactly so that you don't have to do it.
>>> >>
>>> >> In fact, the structure is known to be opaque. I cannot rely in what I
>>> see in
>>> >> internet since each os may have a different.
>>> >>
>>> >> And I cant get the size of it from ffi so I cannot allocate
>>> accurately. I
>>> >> think I am screw. I don't want to go to plugin side grrr ..
>>> >>
>>> >> And osx does work.
>>> >>
>>> >> I think I will try against glibc rather than libc.
>>> >>
>>> >> Another idea?
>>> >>
>>> >>> {
>>> >>> int __allocated;
>>> >>> int __used;
>>> >>> struct __spawn_action *__actions;
>>> >>> int __pad[16];
>>> >>> } posix_spawn_file_actions_t;
>>> >>> // http://linux.die.net/include/spawn.h
>>> >>>
>>> >>
>>> >> But that's opaque right? I cannot rely on that
>>> >
>>> > Your ExternalAddress use only allocates 4 bytes for the pointer. You
>>> > need to also allocate the space for the structure. I guess these may
>>> > need separate ExternalXXX objects, but just as hack experiment I find
>>> > below that n:=68 crashes and n:=69 its fine.
>>>
>>> Whoops, I missed that the space for the struct seems actually
>>> allocated by ExternalAddress. Doh! there it is staring at me with the
>>> #allocate: message. So I guess a separate ExternalXXX object isn't
>>> required.
>>>
>>> >
>>> > | posixSpawnFileActionsT n |
>>> > n := 68. "n := 69"
>>> > posixSpawnFileActionsT := ExternalAddress allocate: n.
>>> > OSSUnixSubprocess new primitivePosixSpawnFileActionsInit:
>>> > posixSpawnFileActionsT.
>>> > posixSpawnFileActionsT free.
>>> >
>>> >
>>> > In trying to understand this I found an interesting article...
>>> > http://www.catb.org/esr/structure-packing/
>>> > What I don't know is for a 32-bit OS on a 64-bit machine, is my
>>> > pointer 4 or 8 bytes?
>>> > Assuming 4 I derive the structure size for my 32-bit system is...
>>> > 4 int __allocated;
>>> > 4 int __used;
>>> > 4 struct __spawn_action *__actions;
>>> > 64 int __pad[16];
>>> > 76 posix_spawn_file_actions_t;
>>> >
>>> > 76 - 68 = 8 is an interesting round number, but I can't quite reason
>>> it out.
>>>
>>> btw I confirmed *my* structure size by compiling and running...
>>> #include <stdio.h>
>>> #include <spawn.h>
>>> posix_spawn_file_actions_t tst;
>>> int main()
>>> {
>>> printf("-->sizeof=%d\n", sizeof(posix_spawn_file_actions_t));
>>> }
>>>
>>> -->sizeof=76
>>>
>>> cheers -ben
>>>
>>> > With FFI how to you allocate some external memory and then get a
>>> > pointer to it to pass to primitivePosixSpawnFileActionsInit ?
>>> >
>>> > cheers -ben
>>> >
>>> >>> > I am using latest Pharo 5.0 with Spur. To reproduce:
>>> >>> >
>>> >>> > 1) Get latest Pharo 5.0 and Spur via:
>>> >>> > wget -O- get.pharo.org/alpha+vm | bash
>>> >>> >
>>> >>> > 2) Inside Pharo, load my prototype tool:
>>> >>> >
>>> >>> > Gofer it
>>> >>> > package: 'OSSubprocess';
>>> >>> > url: 'http://smalltalkhub.com/mc/marianopeck/OSSubprocess/main';
>>> >>> > load.
>>> >>> >
>>> >>> > 3) This is the code I am executing and it's crashing:
>>> >>> >
>>> >>> > | posixSpawnFileActionsT | posixSpawnFileActionsT :=
>>> ExternalAddress
>>> >>> > allocate: 4. OSSUnixSubprocess new
>>> primitivePosixSpawnFileActionsInit:
>>> >>> > posixSpawnFileActionsT. posixSpawnFileActionsT free.
>>> >>> > 4) The primitive is as simple as:
>>> >>> >
>>> >>> > primitivePosixSpawnFileActionsInit: aPosixSpawnFileActionsT
>>> >>> > ^ self ffiCall: #( int posix_spawn_file_actions_init(void*
>>> >>> > aPosixSpawnFileActionsT) ) module: LibC
>>> >>> >
>>> >>> > I have no idea what I am doing wrong. And again, this works on
>>> OSX. The
>>> >>> > function I am calling is: int
>>> >>> > posix_spawn_file_actions_init(posix_spawn_file_actions_t
>>> *file_actions);
>>> >>> > as
>>> >>> > you can read in [1]
>>> >>> >
>>> >>> > Below is the stacktrace I get the Linux terminal.
>>> >>> >
>>> >>> > Any hint is greatly appreciated.
>>> >>> >
>>> >>> > Thanks,
>>> >>> >
>>> >>> >
>>> >>> > [1]
>>> >>> >
>>> >>> >
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn_file_…
>>> >>>
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
--
Mariano
http://marianopeck.wordpress.com
Jan. 9, 2016
Re: [Pharo-dev] Understanding Spotter?
by stepharo
Can we look for senders directly? Because we could not find how to do it.
And we read this blog post:
http://www.humane-assessment.com/blog/introducing-gtspotter/
Why Spotter does not offer
#n foo senders of
#m foo implementors of
#N Point refs for class
#pr
#pa
it sounds simpler that way and coherent with the way we use senders and
implementors.
Now I do not really care about commiting code from within Spotter.
Stef
Le 9/1/16 22:42, Tudor Girba a écrit :
> You can find documentation with examples about GTSpotter on the humane-assessment.com blog:
> https://www.google.com/search?client=safari&rls=en&q=site:humane-assessment…
>
> Specifically about finding Pragma usages, I just added a blog post:
> http://www.humane-assessment.com/blog/spotting-pragmas-with-gtspotter
>
> Cheers,
> Doru
>
>> On Jan 9, 2016, at 11:00 PM, stepharo <stepharo(a)free.fr> wrote:
>>
>> Hi
>>
>> Is there a help a student or idiot like me can read about how to find information with Spotter?
>> For example
>> We with luc wanted to find all the senders of variableSubclass: we tried # #senders and more... but gave up.
>> Yesterday I wanted to find all the user of <menu>
>>
>> May be I missed an obvious help that will enlighten me?
>> I hope.
>>
>> Now without such help how can we expect students or users to discover the way we should
>> use the tools?
>>
>> We were planning to do a video to explain Spotter but I'm slowly thinking to discard this video
>> because we do not know.
>>
>> Stef
>>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Value is always contextual."
>
>
>
>
>
>
Jan. 9, 2016
Re: [Pharo-dev] Understanding Spotter?
by stepharo
Doru
are all the type after the name?
menu #pr
I always thought it was the inverse.
Where can we find the list of #...
Why we cannot have a ghost showing one example.
Blog posts are not part of the discoverability of an UI.
Stef
Le 9/1/16 22:42, Tudor Girba a écrit :
> You can find documentation with examples about GTSpotter on the humane-assessment.com blog:
> https://www.google.com/search?client=safari&rls=en&q=site:humane-assessment…
>
> Specifically about finding Pragma usages, I just added a blog post:
> http://www.humane-assessment.com/blog/spotting-pragmas-with-gtspotter
>
> Cheers,
> Doru
>
>> On Jan 9, 2016, at 11:00 PM, stepharo <stepharo(a)free.fr> wrote:
>>
>> Hi
>>
>> Is there a help a student or idiot like me can read about how to find information with Spotter?
>> For example
>> We with luc wanted to find all the senders of variableSubclass: we tried # #senders and more... but gave up.
>> Yesterday I wanted to find all the user of <menu>
>>
>> May be I missed an obvious help that will enlighten me?
>> I hope.
>>
>> Now without such help how can we expect students or users to discover the way we should
>> use the tools?
>>
>> We were planning to do a video to explain Spotter but I'm slowly thinking to discard this video
>> because we do not know.
>>
>> Stef
>>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Value is always contextual."
>
>
>
>
>
>
Jan. 9, 2016
Re: [Pharo-dev] Understanding Spotter?
by stepharo
Luc is estonished that we can watch Youtube from his place.
May be because people are sleeping :)
Le 9/1/16 22:21, Dimitris Chloupis a écrit :
> video tutorial like this one ?
>
> https://www.youtube.com/watch?v=mNh6VtPy8m4
>
> On Sat, Jan 9, 2016 at 11:02 PM stepharo <stepharo(a)free.fr
> <mailto:stepharo@free.fr>> wrote:
>
> Hi
>
> Is there a help a student or idiot like me can read about how to find
> information with Spotter?
> For example
> We with luc wanted to find all the senders of
> variableSubclass: we
> tried # #senders and more... but gave up.
> Yesterday I wanted to find all the user of <menu>
>
> May be I missed an obvious help that will enlighten me?
> I hope.
>
> Now without such help how can we expect students or users to discover
> the way we should
> use the tools?
>
> We were planning to do a video to explain Spotter but I'm slowly
> thinking to discard this video
> because we do not know.
>
> Stef
>
Jan. 9, 2016
Re: [Pharo-dev] Understanding Spotter?
by stepharo
Thanks
Now is there any chance that we can get a help?
There are places (like the home of luc where the network is so slow that
you cannot even think to
watch something on Youtube :) - not talking about Africa.
Stef
Le 9/1/16 22:42, Tudor Girba a écrit :
> You can find documentation with examples about GTSpotter on the humane-assessment.com blog:
> https://www.google.com/search?client=safari&rls=en&q=site:humane-assessment…
>
> Specifically about finding Pragma usages, I just added a blog post:
> http://www.humane-assessment.com/blog/spotting-pragmas-with-gtspotter
>
> Cheers,
> Doru
>
>> On Jan 9, 2016, at 11:00 PM, stepharo <stepharo(a)free.fr> wrote:
>>
>> Hi
>>
>> Is there a help a student or idiot like me can read about how to find information with Spotter?
>> For example
>> We with luc wanted to find all the senders of variableSubclass: we tried # #senders and more... but gave up.
>> Yesterday I wanted to find all the user of <menu>
>>
>> May be I missed an obvious help that will enlighten me?
>> I hope.
>>
>> Now without such help how can we expect students or users to discover the way we should
>> use the tools?
>>
>> We were planning to do a video to explain Spotter but I'm slowly thinking to discard this video
>> because we do not know.
>>
>> Stef
>>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Value is always contextual."
>
>
>
>
>
>
Jan. 9, 2016
Re: [Pharo-dev] gtdebugger in pharo 5.0
by Ferlicot D. Cyril
Le 09/01/2016 10:32, Tudor Girba a écrit :
> Hi,
>
> Could you be specific? What exactly do you find less intuitive? To be able to react, it is useful to get concrete points.
>
> Cheers,
> Doru
>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Value is always contextual."
>
This was my impression but I will try to list these things.
First I find the improvements of Esteban good.
- For the icons it is true that the text help a lot. As someone mention,
just a setting to get or not the text is possible, but a least be able
to get the text is important IMO.
I use Intellij for java debugging and sometime I get a little lost when
I see the icons because for a same icon there is two different actions
between Pharo and Intellij. So I lose always some time waiting the
popup. And I think that a lot of students that do Java will have the
same problem.
- I like that the stack is fully loaded in the Spec debugger. In general
that doesn't add this much time to show all the stack and it's one more
line to show useful information.
- On thing that I really don't like is to get 4 lines with the code of a
block in the stack. This is too much space I think. And because of this
we have a large horizontal scroll bar that we could avoid with a limite
in character. I miss the fact that we had the name of the class on the
line of a block in the Spec debugger.
For example I will join a screen with a block.
I would prefer something like:
In GLMMorphicTabulatorRenderer: [ :index :each | each hasId ifTrue:... ]
And if you use FTTable you will not even get the horizontal scrollbar,
so it's useless to get 4 long lines of the block if we cannot see half
of it.
- There is no way to close the inspector if we miss click
- I liked the separation between attributes and parameter/temp. I think
that it was more readable. Before I could had a global overview of both
easily. Now I have to scroll down to see the attributes. But for this
one maybe I prefer the old one by habits.
- The context menu of the spec debugger have more useful options
(Suggestions, Code searchâ¦)
These are the things that come in my mind. But maybe I missed some since
the fact that I found the old debugger more intuitive was a feeling.
It's hard to define why we have a feeling.
--
Cyril Ferlicot
http://www.synectique.eu
165 Avenue Bretagne
Lille 59000 France
Jan. 9, 2016
Re: [Pharo-dev] gtdebugger in pharo 5.0
by Tudor Girba
Hi,
> On Jan 9, 2016, at 3:29 PM, Christophe Demarey <christophe.demarey(a)inria.fr> wrote:
>
> Not yet tested but looks good.
Thanks.
> I just noticed it misses the "run to here" action.
It does not miss it. It is in the context menu of the code (this is where it logically belongs).
Doru
> Le 9 janv. 2016 à 11:01, Esteban Lorenzano a écrit :
>
>> again re-send because of exceed limits with the image (thatâs new?)
>>
>> with a small tweak, texts (AND icons :P):
>>
>>
>> <Screen Shot 2016-01-09 at 10.59.20.png>
>>
>> would that be aceptable for you?
>>
>> cheers!
>> Esteban
>>
>>> On 09 Jan 2016, at 09:43, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
>>>
>>> (re-send because I exceeded limit.)
>>>
>>> Hi,
>>>
>>> letâs think positive.
>>> the GTDebugger is a step forward⦠it allow a lot of better interactions and of course, it needs some iterations to make it appealing to everybody.
>>> For instance, I took me 2â to tweak the debugger presentation and to get this:
>>>
>>> <Screen Shot 2016-01-09 at 09.29.59.png>
>>>
>>> (I changed all available⦠is a trivial task)
>>>
>>> and like IMO feels a lot better⦠and I think is a good compromise between the old and the new.
>>> Reasons to suggest this approach:
>>>
>>> - it keeps old approach who(I think) was good (I can see the stack, and the flow feels natural from top to down)
>>> - it preserves âthe importantâ (the code) as central.
>>> - it gives space for adding columns (like the bytecode).
>>>
>>> Now⦠I can understand you want icons with text, and that can be hacked tooâ¦
>>>
>>> So⦠can we have an agreement?
>>>
>>> Esteban
>>>
>>> ps: btw⦠using GT with Fast Table we can also avoid those annoying paginated lists too
>>>
>>>> On 09 Jan 2016, at 08:53, stepharo <stepharo(a)free.fr> wrote:
>>>>
>>>> Thanks for your testimony.
>>>>
>>>> I'm not against GTDebugger per se. I believe that we should have better tools
>>>> but we should take time for building better tools (even if this is two years that moosers use or not this new debugger).
>>>> I would appreciate a process where users can give real feedback and we can simplify/shape our tools nicely.
>>>>
>>>> Now for the mooc I will not present GTDebugger. So students will not use Pharo 50
>>>>
>>>> Stef
>>>>
>>>>> Le 08/01/2016 21:22, stepharo a écrit :
>>>>>> I'm sorry but this debugger should not be the default one.
>>>>>> MONDAY we are filming our mooc and we have to explain the debugger and
>>>>>> personally I do not see the gain:
>>>>>> - It looks a lot more complex to me and I do not want to have to
>>>>>> redo all the screenshots
>>>>>> of our lecture.
>>>>>> - Just that I have to learn the meaning of small icons.
>>>>>> - Why do we need a special pane for the evaluator
>>>>>> - Why there is a type column.
>>>>>> - Sorry but I'm not convinced about the moldable aspect behind the
>>>>>> story (no need to argue I know it)
>>>>>>
>>>>>> I would like to avoid to be forced to use not the latest version of
>>>>>> Pharo for the mooc.
>>>>>>
>>>>>> Such changes are arriving far too late in the release. We do not change
>>>>>> the debugger itself the day of code freeze.
>>>>>>
>>>>>> We decided that the GTDebugger can be included but to me it never meant
>>>>>> that it should be the default one.
>>>>>> I think that experts can choose the debugger they want. The newbies don't.
>>>>>>
>>>>>> Stef
>>>>>>
>>>>>>
>>>>> IMO the old debugger is way more intuitive.
>>>>> When I used the debugger of Eclipse for java I was lost. When I used
>>>>> Spec debugger I thought "Oh, this is not so hard in fact". And I lose
>>>>> the feeling with GTDebugger. And the debugger is one of the main source
>>>>> of interest for newbies.
>>>>>
>>>>> Maybe we could have a button on the spec Debugger "Switch to GTDebugger"?
>>>>>
>>>>
>>>>
>>>
>>
>
--
www.tudorgirba.com
www.feenk.com
"Quality cannot be an afterthought."
Jan. 9, 2016
Re: [Pharo-dev] [Pharo-users] [ann] gtdebugger in pharo 5.0
by Tudor Girba
Thanks. What do you think of the new solution? Is it sufficient?
Doru
> On Jan 8, 2016, at 8:05 PM, Johan Fabry <jfabry(a)dcc.uchile.cl> wrote:
>
>
> I second Torstenâs comment with regard to the use of space, I also think the original positioning of stack and code panes is more efficient.
>
>> On Jan 8, 2016, at 14:28, Torsten Bergmann <astares(a)gmx.de> wrote:
>>
>> Hi,
>>
>> with a moldable debugger we should (in the future) be able to support
>> debugging also different/other programming languages/DSLs in Pharo :)
>> - although usually one does necessary have such a use case. So I guess
>> GTInspector or other will be adopted to own needs more than GTDebugger.
>>
>> However:
>> The only objection so far is that I dislike the order/size of the panes.
>> The placement of the panes in GTDebugger (as for instance found in Moose)
>> requires often to use the scrollbars of the pane showing the stack because
>> of the text length.
>>
>> In GTDebugger the stack is at the top left, the source at the top right with
>> a common splitter beneath the two panes: therefore the height (depth) of the
>> stack pane is always the height of the code pane.
>> When you have a long method to debug on the right much space is wasted for
>> a deep stack on the left although you might only be interested in a few top frames.
>>
>> Contrary when you have are interested in a deep/full stack and you increase the
>> height of the stack pane on the left you directly increase the height of the code
>> pane and for short methods you waste a lot of space in the source pane as well.
>>
>> This is much better solved with the positioning in the traditinal Debugger:
>> - Stack
>> - Source
>> - other
>>
>> So in my opinion We should preserve:
>>
>> - TOP: the stack at the top (using the full width of the window, so only vertical scrolling
>> has to be done to "roll" on the stack, no need for horizontal scrolling as the area
>> is wide enough)
>> - MIDDLE: the source code pane in the middle (also using the full width of the window and there
>> fore in alignment with code pane in the the usual tools like Nautilus, change sorter, ...)
>> - BOTTON: one or more panel for inspection at the bottom
>>
>> It would be OK for me if others like the new layout better - but at least there should be an
>> option to support the traditional layout as well (or support pane movemen/docking as in other IDEs)
>>
>> Also the debugger window in Moose wastes a lot of space/has unused space within the
>> windows client are itself. For instance the splitters are very thick which might be an issue of
>> the moose theme.
>>
>> Thanks
>> T.
>>
>> Gesendet: Freitag, 08. Januar 2016 um 11:24 Uhr
>> Von: "Tudor Girba" <tudor(a)tudorgirba.com>
>> An: "Pharo Development List" <pharo-dev(a)lists.pharo.org>, "Moose-dev Moose Dev" <moose-dev(a)iam.unibe.ch>, "Any question about pharo is welcome" <pharo-users(a)lists.pharo.org>
>> Betreff: [Pharo-dev] [ann] gtdebugger in pharo 5.0
>>
>> Hi,
>>
>> We are about to integrate in Pharo a new member of the Glamorous Toolkit: the GTDebugger. As this is a significant change that might affect your workflow, here is some background information to help you deal with the change.
>>
>> First, you should know that the change is not irreversible and it is easily possible to disabled the new debugger through a setting. However, please do take the time to provide us feedback if something does not work out for you. We want to know what can be improved and we try to react as fast as we can.
>>
>> A practical change comes from the fact that the variables are manipulated through a GTInspector, which makes it cheaper to maintain in the longer run.
>>
>>
>> While the first thing that will capture the attention is the default generic interface, the real power comes from the moldable nature of the debugger. Like all other GT tools, GTDebugger is also moldable by design. This means that we can construct custom debuggers for specific libraries at small costs (often measured in a couple of hundred lines of code).
>>
>>
>>
>> Here is an introductory overview blog post that also includes some links for further reading:
>> http://www.humane-assessment.com/blog/gtdebugger-in-pharo/
>>
>> Please let us know what you think.
>>
>> Cheers,
>> Doru
>>
>>
>> --
>> www.tudorgirba.com[http://www.tudorgirba.com]
>> www.feenk.com[http://www.feenk.com]
>>
>> "Beauty is where we see it."
>
>
>
> ---> Save our in-boxes! http://emailcharter.org <---
>
> Johan Fabry - http://pleiad.cl/~jfabry
> PLEIAD and RyCh labs - Computer Science Department (DCC) - University of Chile
>
>
--
www.tudorgirba.com
www.feenk.com
"It's not how it is, it is how we see it."
Jan. 9, 2016
Re: [Pharo-dev] gtdebugger in pharo 5.0
by Tudor Girba
Thank you, indeed.
Doru
> On Jan 9, 2016, at 1:23 PM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>
> Thanks for this wonderfully positive message !! That is the spirit.
>
>> On 09 Jan 2016, at 10:49, Dimitris Chloupis <kilon.alios(a)gmail.com> wrote:
>>
>> Since I am the mainn maintainer of UPBE and pretty much alone, I will have to disagree, I have expressed my dislike for GT tools in the past, I was quite vocal about my dislike about GTPlayground and especially the pages interface of GTInspector.
>>
>> Yet even though I am the one that usually ends up keep pushing UPBE forward the most, I never said dont include this GT tool because I will have to document it.
>>
>> As a matter of fact GT people are the rare breed of pharoers , close to extinction level, that bothers documenting its own tools making my job super easy and a matter of porting their blog posts to Pillar.
>>
>> Also its important to note here that our dear beloved debugger is decades old, maybe just maybe its time to try something new even if we dont like it.
>>
>> Afterall GT people were quick to adress my problems of Playground like the lack of copy paste in right click menu, the lack of tabs etc. We objected and criticised, they improved . End of story. None complains about the Playground anymore.
>>
>> Its also important to note that they constantly pushing pharo forward.
>>
>> On the matters of documentation I will accept zero excuses from this community. If one spent 10 minutes per week, I repeat 10 minutes per week, on contributing to UPBE we would have the following
>>
>> 1) a person even a slow typer, types at least 40 words per minute
>> 2) in 10 minutes one can type 400 words
>> 3) That is one page of UPBE (pdf version) in 10 minutes
>> 4) thats 50 pages per year per person
>> 5) if people who are experienced are at least 10, I think we can find 10 people who understand pharo deeply , thats 500 pages per year
>>
>> we end up with the conclusion that the UPBE with extremely limited effort and extremely low amount of people would have by now the last 7 years that Pharo is around , 3500 pages of documentation.
>>
>> But since 10 people is too few and there a lot more judging from the mailing list , I will say 100 people is more realistic which means 35.000 pages or to put it more in perspective , thats the total of 10 UPBE books
>>
>> I repeat 10 UPBE BOOKS !!!!!
>>
>>
>> So no no no and NO dont exclude the new debugger because of the effort to document, I respect Stef he and Damien are the ones responsible for the existenve of UPBE and PBE in the first place, they also helped me alot with Dimitri to port many chapters to pharo 4. Plus I love Pillar for documentation its awesome even with its flaws.
>>
>>
>> But I say that GT people earned my trust, my trust that the have desire and visions to push Pharo forward and I say let them put the Debugger in who is going to hurt , it can be disabled and bring back the old one. Same story with Playground but seriously who bring back the old workspace ?
>>
>> Let them take the criticism and improve the new debugger, its a new thing of course it will have its flaws. But I dont want a Pharo that works well, I want a Pharo that keeps going forward.
>>
>> I have not the opportunity to download a new image because of my lack my connection is down and I use my mobile connection to do the minimum because it costs too much.
>>
>> But even if I heavily dislike the debugger like I did the the Playground I know that GT people will listen and will improve it, for that I have zero doubts because I admire their efforts even when I disagree with them.
>>
>>
>>
>> On Sat, Jan 9, 2016 at 4:19 AM Ben Coman <btc(a)openinworld.com> wrote:
>> On Sat, Jan 9, 2016 at 4:22 AM, stepharo <stepharo(a)free.fr> wrote:
>>> I'm sorry but this debugger should not be the default one.
>>> MONDAY we are filming our mooc and we have to explain the debugger and
>>> personally I do not see the gain:
>>> - It looks a lot more complex to me and I do not want to have to redo
>>> all the screenshots
>>> of our lecture.
>>> - Just that I have to learn the meaning of small icons.
>>> - Why do we need a special pane for the evaluator
>>> - Why there is a type column.
>>> - Sorry but I'm not convinced about the moldable aspect behind the story
>>> (no need to argue I know it)
>>
>> This also applies to UPBE. It would be good to get that out the door
>> matching Pharo 5 without too much rework.
>>
>> cheers -ben
>>
>>
>>> I would like to avoid to be forced to use not the latest version of Pharo
>>> for the mooc.
>>>
>>> Such changes are arriving far too late in the release. We do not change the
>>> debugger itself the day of code freeze.
>>>
>>> We decided that the GTDebugger can be included but to me it never meant that
>>> it should be the default one.
>>> I think that experts can choose the debugger they want. The newbies don't.
>>>
>>> Stef
>>>
>>>
>>
>
>
--
www.tudorgirba.com
www.feenk.com
"We cannot reach the flow of things unless we let go."
Jan. 9, 2016
Re: [Pharo-dev] gtdebugger in pharo 5.0
by Tudor Girba
Thanks for this. Part of it is now in the repo. We need to work to find a reasonable solution to add text to Glamour.
Cheers,
Doru
> On Jan 9, 2016, at 12:01 PM, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
>
> again re-send because of exceed limits with the image (thatâs new?)
>
> with a small tweak, texts (AND icons :P):
>
>
> <Screen Shot 2016-01-09 at 10.59.20.png>
>
> would that be aceptable for you?
>
> cheers!
> Esteban
>
>> On 09 Jan 2016, at 09:43, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
>>
>> (re-send because I exceeded limit.)
>>
>> Hi,
>>
>> letâs think positive.
>> the GTDebugger is a step forward⦠it allow a lot of better interactions and of course, it needs some iterations to make it appealing to everybody.
>> For instance, I took me 2â to tweak the debugger presentation and to get this:
>>
>> <Screen Shot 2016-01-09 at 09.29.59.png>
>>
>> (I changed all available⦠is a trivial task)
>>
>> and like IMO feels a lot better⦠and I think is a good compromise between the old and the new.
>> Reasons to suggest this approach:
>>
>> - it keeps old approach who(I think) was good (I can see the stack, and the flow feels natural from top to down)
>> - it preserves âthe importantâ (the code) as central.
>> - it gives space for adding columns (like the bytecode).
>>
>> Now⦠I can understand you want icons with text, and that can be hacked tooâ¦
>>
>> So⦠can we have an agreement?
>>
>> Esteban
>>
>> ps: btw⦠using GT with Fast Table we can also avoid those annoying paginated lists too
>>
>>> On 09 Jan 2016, at 08:53, stepharo <stepharo(a)free.fr> wrote:
>>>
>>> Thanks for your testimony.
>>>
>>> I'm not against GTDebugger per se. I believe that we should have better tools
>>> but we should take time for building better tools (even if this is two years that moosers use or not this new debugger).
>>> I would appreciate a process where users can give real feedback and we can simplify/shape our tools nicely.
>>>
>>> Now for the mooc I will not present GTDebugger. So students will not use Pharo 50
>>>
>>> Stef
>>>
>>>> Le 08/01/2016 21:22, stepharo a écrit :
>>>>> I'm sorry but this debugger should not be the default one.
>>>>> MONDAY we are filming our mooc and we have to explain the debugger and
>>>>> personally I do not see the gain:
>>>>> - It looks a lot more complex to me and I do not want to have to
>>>>> redo all the screenshots
>>>>> of our lecture.
>>>>> - Just that I have to learn the meaning of small icons.
>>>>> - Why do we need a special pane for the evaluator
>>>>> - Why there is a type column.
>>>>> - Sorry but I'm not convinced about the moldable aspect behind the
>>>>> story (no need to argue I know it)
>>>>>
>>>>> I would like to avoid to be forced to use not the latest version of
>>>>> Pharo for the mooc.
>>>>>
>>>>> Such changes are arriving far too late in the release. We do not change
>>>>> the debugger itself the day of code freeze.
>>>>>
>>>>> We decided that the GTDebugger can be included but to me it never meant
>>>>> that it should be the default one.
>>>>> I think that experts can choose the debugger they want. The newbies don't.
>>>>>
>>>>> Stef
>>>>>
>>>>>
>>>> IMO the old debugger is way more intuitive.
>>>> When I used the debugger of Eclipse for java I was lost. When I used
>>>> Spec debugger I thought "Oh, this is not so hard in fact". And I lose
>>>> the feeling with GTDebugger. And the debugger is one of the main source
>>>> of interest for newbies.
>>>>
>>>> Maybe we could have a button on the spec Debugger "Switch to GTDebugger"?
>>>>
>>>
>>>
>>
>
--
www.tudorgirba.com
www.feenk.com
"Things happen when they happen,
not when you talk about them happening."
Jan. 9, 2016