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
January 2016
- 75 participants
- 1435 messages
Re: [Pharo-dev] gtdebugger in pharo 5.0
by Christophe Demarey
Le 9 janv. 2016 à 23:10, Tudor Girba a écrit :
> 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).
ah, good!
I also have to confess that it is important that this action (as well as other "hidden" action) can be discoverable as stated by Nicolai and Stef.
Of course, we do not want a button for all actions (only the important ones and the ones used very often) but it is important to visually see that there are other actions available (BTW, I do not know the best way to reach this goal)
Jan. 11, 2016
Re: [Pharo-dev] New #s senders search functionality was in Spotter Re: Understanding Spotter?
by Nicolai Hess
2016-01-11 10:22 GMT+01:00 Tudor Girba <tudor(a)tudorgirba.com>:
> Hi,
>
>
>
> > On Jan 11, 2016, at 10:02 AM, Paul DeBruicker <pdebruic(a)gmail.com>
> wrote:
> >
> > Hi Doru,
> >
> > The lack of this functionality has been my main complaint against
> spotter.
> > So thanks for adding it.
>
> Please voice these concerns as early as possible. We need this feedback to
> be able to react and adapt to peopleâs needs. It is not always possible to
> make it happen, but we need this information to think about future
> solutions.
>
>
> > Is the #s <myMethodName> functionality backported to/loadable in Pharo 4?
>
> Ahh, please do not call it like this :).
>
> It is not a special functionality. The mechanism exists since the
> beginning of Spotter. What I described is an instantiation of it for
> handling the direct senders use case.
>
> Spotter is meant to be extensible including for your objects. Which means
> that you should be able to adapt it to your needs as well. Please try and
> let us know if you have questions :)
>
>
> > is there an equivalent search for implementors?
>
> A solution for this exists already since the beginning of Spotter :). You
> will see an #Implementors category. Could you check to see if this is good
> enough for you?
>
>
> > Will you also please please please fix it such that the entire list of
> > search results is shown as its only one category rather than having to
> 'dive
> > in' on anything?
>
> This was a feature that we never got around to do. Right now the logic
> depends on a hardcoded limit for each search processor, and for the use
> case you describe we would need to make it more dynamic. This would require
> a bit of work, but it is certainly an interesting thing. If anyone would
> like to look at it, it would be great :).
>
>
> > E.g. In the example you've given you cut the list of
> > class/method name pairs shown to the first 5 alphabetically where
> certainly
> > the entire list of 11 would fit in the drawn window without scrolling.
> And
> > really since there aren't any sections you should be able to run a
> massive
> > list of 500++ that could be scrolled with the page up/page down keys or
> > scroll wheel on a mouse.
>
> The size is not the issue. If you dive in a category (Cmd+Shift+Right),
> you will see that it can handle lists of 100k elements without problems
> (and in a streaming like fashion).
>
?
100k ?
where. It is bound to 100 elements (and always was as far as I know (I
reported this from the very beginning).
how can you show more than 100 elements?
> Cheers,
> Doru
>
> >
> > Thanks
> >
> > Paul
> >
> >
> >
> >
> > Tudor Girba-2 wrote
> >> Hi Stef,
> >>
> >> Thanks for taking the time. I think I did not express myself properly in
> >> the previous mail because we are not really in disagreement :).
> >>
> >> The basic mechanism you talk about exists already in Spotter. Let me
> >> explain. When you type: "#e graphs", you will get two examples (and only
> >> the example search is being performed).
> >>
> >>
> >>
> >> This works because the name of the âExamplesâ category starts with âEâ.
> >>
> >> Until now we did not have a top level processor that would search for
> >> Senders (only inside a method). So, because of this you could not search
> >> for them at the top level. In the meantime Stefan just finished
> >> implementing it, the name of the category is Senders. So, you will type
> >> â#s somethingâ.
> >>
> >>
> >>
> >> I now made the category name start with # so that it is closer to the
> way
> >> to query for it. So, when you do not know how, you will just search for
> >> âsomethingâ. Then you will discover the #Senders category, and then you
> >> can learn that you can search for it.
> >>
> >> Now, you seem to be saying that instead of â#s somethingâ you want to
> type
> >> â#n somethingâ. For this we would need to find a solution to reconcile
> the
> >> two. My proposal was to maybe introduce something like â&n somethingâ to
> >> distinguish between the string match of a category name and a âshortcutâ
> >> (I do not know how to call it). I can see how to do this technically,
> but
> >> I still think this is less discoverable then the filtering by the name
> >> like described above, and it would be an extra mechanism. We could add
> >> this shortcut next to the category name to address this issue. The
> >> interesting thing about the shortcut is that we could possibly make it
> >> less ambiguous. For example, if you have two categories starting with
> #S,
> >> you will get both when you type â#S somethingâ, which is less ideal for
> a
> >> common case. So, there are pros and cons.
> >>
> >> Now, what is missing is a top level category for References, and I
> really
> >> think we would have what you wanted (and it is a good goal). The cool
> >> thing is that we would be solving this problem with a generic mechanism.
> >>
> >> So, what I am suggesting is to invest a bit in categories (#Senders can
> be
> >> integrated now) and then we play with it.
> >>
> >> Is this explanation clearer? Did I misunderstand something? What do you
> >> think?
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>> On Jan 10, 2016, at 10:23 PM, stepharo <
> >
> >> stepharo@
> >
> >> > wrote:
> >>>
> >>> Ok my last attempt :(
> >>>
> >>> When I look for something there are two cases
> >>>
> >>> - most of the time I
> >>> ********************KKKKNNNOOOOOOOWWWWWWW*********
> >>> is it clear? I know I know I know what I look for and I WANT THE
> >>> FASTER WAY TO GET IT
> >>> => no three clicks and strange navigation.
> >>>
> >>> I want the sender of this message (not the implementors the sender)
> >>> I want that package
> >>> I want the references to this class (not the class and the refs that
> >>> class)
> >>> and I'm ready to learn
> >>> #N for reference
> >>> #n for senders
> >>> #m for implementors
> >>> Because they are the same.
> >>> #e for example like in the finder
> >>>
> >>> - looking around and the system can propose me something
> >>> and I can navigate and think.
> >>>
> >>> But this is ok I just use Spotter to open the class browser and all the
> >>> rest I do it with shortcuts.
> >>> I tried to help but I failed.
> >>>
> >>> I will present Spotter as the great tool to open browser because I
> cannot
> >>> use it otherwise and
> >>> nobody around me can show me on the spot something more efficient than
> a
> >>> shortcut in a workspace.
> >>> Or may be I will simply not spend energy doing a videos on Spotter
> >>> because to me this is not ready
> >>> and far less usable than it is supposed to be.
> >>>
> >>> Now to me Spotter is taking a lot of classes for the gain I get. What
> >>> esteban did or what is in Squeak
> >>> is working perfectly for me because Spotter does not let me express my
> >>> needs.
> >>> So may be you have other needs but I would like to know how people
> really
> >>> works and not
> >>> how Spotter should be usefull.
> >>>
> >>> The video of dimitry shows that well: Just browse a class and sometimes
> >>> you get an implementor
> >>> May be you do not like my mail because they look aggressive but when is
> >>> the last time
> >>> you did a real study with users that were not already convinced. Or may
> >>> be with users
> >>> that loves just one tiny feature and not the one you think that they
> use?
> >>>
> >>> And BTW it hangs my images two times with 4.0 when I was in africa and
> >>> this was annoying.
> >>> Stef
> >>>
> >>>
> >>>>> I do not get why you cannot
> >>>>> - have a set of fixed most used queries and this will create a
> small
> >>>>> vocabulary that can be extensible
> >>>>> and it can be mapped to what we do with shortcuts = reduce
> cognitive
> >>>>> load
> >>>>> and then a full search when you do not know what you are searching.
> >>>>> This is not exclusive and it works for the two scenario.
> >>>>
> >>>> I understand the intention, but I do not understand how these fixed
> >>>> queries are any different than we have now. When you are on the top of
> >>>> Spotter, when you query, you get always the same processors being
> >>>> executed. At first you will not know their names, and you will scroll.
> >>>> And if you see them, you might remember them and reproduce afterwards.
> >>>> Itâs a discoverable learning process that you do not have to remember.
> >>>
> >>> Because with these wonderfull queries I do not get what I'm looking
> for.
> >>> Because the system is trying to guess what I have in my mind and this
> >>> system is not good for that because I'm thinking about
> >>> the metallica song I'm listening.
> >>>
> >>>
> >>>> The only part that is not discoverable is that # introduces a category
> >>>> search. Thinking loud, I just thought that we can make the label start
> >>>> with # like this (I committed this change):
> >>>
> >>> Sorry but I do not get it.
> >>>
> >>>>
> >>>>
> >> <Mail Attachment.png>
> >>>>
> >>>> We also thought of having completion as soon as someone type #. So,
> you
> >>>> have a kind of a dropdown for the available categories, but we did not
> >>>> get to implement that one. This should solve the discoverability
> problem
> >>>> even more. What do you think about that?
> >>> Why not
> >>> but just a ghost with
> >>> #n printOn: #m #N ....
> >>> would be a huge improvement
> >>>
> >>> Each time I used Spotter to look for something more than a class I
> could
> >>> not find it.
> >>>
> >>>
> >>>
> >>>> Regarding the shortcuts, we could associated such shortcuts with a
> >>>> processor, but I would first want to see if we cannot manage to
> produce
> >>>> a solution with the current set of options.
> >>>
> >>> I was not saying shortcuts and I was thinking the same vocabulary
> >>>
> >>> Cmd+N
> >>> #N
> >>> Cmd+m
> >>> #m
> >>> Cmd+n
> >>> #n
> >>>>
> >>>>
> >>>>> I was discussing with Luc and he made a fun but sad remark
> >>>>> "Since people do not understand well spotter they most of the time
> >>>>> only use it to open a class.
> >>>>> And this is something that he already had before."
> >>>>> I briefly looked at the Youtube video of Chloupis and
> >>>>> So you can have a generic super cool tool, if people do not use it it
> >>>>> defeats its purpose.
> >>>>
> >>>> Certainly.
> >>>>
> >>>>
> >>>>> You can be really happy because you go fast with it but you only.
> >>>>
> >>>> That is not really true :).
> >>>
> >>> See my remark above.
> >>>>
> >>>>> So making sure that the most used actions are really supported is
> >>>>> important.
> >>>>
> >>>> Of course it is. For Senders we did not find a good solution yet that
> is
> >>>> reasonably fast and useful. Stefan and I are still literally working
> on
> >>>> this. I think we should be able to have a solution, but we have to see
> >>>> if it is reasonable enough. We will announce it once we have it
> working.
> >>>
> >>> the problem is that you want to solve everything at once. While the
> >>> divide and conquer is the solution for the first
> >>> scenario I mention. I do not need something that crawls the entire
> system
> >>> when I have one precise query.
> >>>
> >>>
> >>>>
> >>>> But, really, this tool more than anything allows one to play with
> >>>> possibilities in a couple of lines of code. We want people to play
> (some
> >>>> did) and to get concrete feedback and possible solutions. I think we
> >>>> should not just say that we need something else before we actually
> play
> >>>> with it a bit more.
> >>> I do not get it.
> >>> I never worked with me. And so far I did not see anybody succeeding to
> >>> show me how to find something that I cannot
> >>> find faster with a shortcut.
> >>>
> >>>
> >>>
> >>>>> But more important the discoverability is important because there is
> >>>>> not even a help.
> >>>>> Right now as a user I can only guess and often I close spotter and
> use
> >>>>> my shortcuts.
> >>>>> As a user I see something that ask me about network (and I do not
> care)
> >>>>> but nothing
> >>>>> that brings me to the next level.
> >>>>
> >>>> This is something we need to work on, but you know, time is limited
> for
> >>>> us, too.
> >>>
> >>> Add a button and an help text copied from your blog!
> >>> And you will have made a 100% documentation jump.
> >>>>
> >>>>
> >>>>> Most of the time the user forgets the key combination (may be this
> will
> >>>>> be solved with
> >>>>> the cool shortcut reminder we developed and is under review)
> >>>>
> >>>> All actions in spotter have a visible icon. All. And if you hover over
> >>>> it you get the command. And there are literally 5 such actions. What
> is
> >>>> missing in this regard from your point of view?
> >>>
> >>> I do not know
> >>> They do not cover what I want to do.
> >>> I do not care of setting
> >>> Most of the time I do not care about seeing all. I saw now that you
> >>> have an arrow to show more than the top 5
> >>> good but again Cmd-shift > is not easy to type and give pain.
> >>> I do not understand why I should dive in most of the time.
> >>>
> >>> I realised that I could use Spotter when I saw that I can press shift
> >>> under the return because
> >>> before I got immediate pain when trying with the left shift.
> >>> To me left shift is a NO WAY.
> >>> esc (top left) would work but I did not have the time to hack Spotter.
> >>>
> >>>>
> >>>> Doru
> >>>>
> >>>>
> >>>>> Stef
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>> --
> >>>> www.tudorgirba.com
> >>>> www.feenk.com
> >>>>
> >>>> "Reasonable is what we are accustomed with."
> >>>>
> >>>
> >>
> >> --
> >> www.tudorgirba.com
> >> www.feenk.com
> >>
> >> "The coherence of a trip is given by the clearness of the goal."
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> a GTSpotterMorph(858507264)2016-01-10T23-06-19-10433+02-00.png (108K)
> >> <
> http://forum.world.st/attachment/4870487/0/a%20GTSpotterMorph%28858507264%2…
> ;
> >> a GTSpotterMorph(10402452482016-01-10T23-11-35-849359+02-00.png (130K)
> >> <
> http://forum.world.st/attachment/4870487/1/a%20GTSpotterMorph%2810402452482…
> ;
> >
> >
> >
> >
> >
> > --
> > View this message in context:
> http://forum.world.st/Understanding-Spotter-tp4870311p4870547.html
> > Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
> >
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Things happen when they happen,
> not when you talk about them happening."
>
>
>
Jan. 11, 2016
Re: [Pharo-dev] New #s senders search functionality was in Spotter Re: Understanding Spotter?
by Tudor Girba
Hi,
> On Jan 11, 2016, at 10:02 AM, Paul DeBruicker <pdebruic(a)gmail.com> wrote:
>
> Hi Doru,
>
> The lack of this functionality has been my main complaint against spotter.
> So thanks for adding it.
Please voice these concerns as early as possible. We need this feedback to be able to react and adapt to peopleâs needs. It is not always possible to make it happen, but we need this information to think about future solutions.
> Is the #s <myMethodName> functionality backported to/loadable in Pharo 4?
Ahh, please do not call it like this :).
It is not a special functionality. The mechanism exists since the beginning of Spotter. What I described is an instantiation of it for handling the direct senders use case.
Spotter is meant to be extensible including for your objects. Which means that you should be able to adapt it to your needs as well. Please try and let us know if you have questions :)
> is there an equivalent search for implementors?
A solution for this exists already since the beginning of Spotter :). You will see an #Implementors category. Could you check to see if this is good enough for you?
> Will you also please please please fix it such that the entire list of
> search results is shown as its only one category rather than having to 'dive
> in' on anything?
This was a feature that we never got around to do. Right now the logic depends on a hardcoded limit for each search processor, and for the use case you describe we would need to make it more dynamic. This would require a bit of work, but it is certainly an interesting thing. If anyone would like to look at it, it would be great :).
> E.g. In the example you've given you cut the list of
> class/method name pairs shown to the first 5 alphabetically where certainly
> the entire list of 11 would fit in the drawn window without scrolling. And
> really since there aren't any sections you should be able to run a massive
> list of 500++ that could be scrolled with the page up/page down keys or
> scroll wheel on a mouse.
The size is not the issue. If you dive in a category (Cmd+Shift+Right), you will see that it can handle lists of 100k elements without problems (and in a streaming like fashion).
Cheers,
Doru
>
> Thanks
>
> Paul
>
>
>
>
> Tudor Girba-2 wrote
>> Hi Stef,
>>
>> Thanks for taking the time. I think I did not express myself properly in
>> the previous mail because we are not really in disagreement :).
>>
>> The basic mechanism you talk about exists already in Spotter. Let me
>> explain. When you type: "#e graphs", you will get two examples (and only
>> the example search is being performed).
>>
>>
>>
>> This works because the name of the âExamplesâ category starts with âEâ.
>>
>> Until now we did not have a top level processor that would search for
>> Senders (only inside a method). So, because of this you could not search
>> for them at the top level. In the meantime Stefan just finished
>> implementing it, the name of the category is Senders. So, you will type
>> â#s somethingâ.
>>
>>
>>
>> I now made the category name start with # so that it is closer to the way
>> to query for it. So, when you do not know how, you will just search for
>> âsomethingâ. Then you will discover the #Senders category, and then you
>> can learn that you can search for it.
>>
>> Now, you seem to be saying that instead of â#s somethingâ you want to type
>> â#n somethingâ. For this we would need to find a solution to reconcile the
>> two. My proposal was to maybe introduce something like â&n somethingâ to
>> distinguish between the string match of a category name and a âshortcutâ
>> (I do not know how to call it). I can see how to do this technically, but
>> I still think this is less discoverable then the filtering by the name
>> like described above, and it would be an extra mechanism. We could add
>> this shortcut next to the category name to address this issue. The
>> interesting thing about the shortcut is that we could possibly make it
>> less ambiguous. For example, if you have two categories starting with #S,
>> you will get both when you type â#S somethingâ, which is less ideal for a
>> common case. So, there are pros and cons.
>>
>> Now, what is missing is a top level category for References, and I really
>> think we would have what you wanted (and it is a good goal). The cool
>> thing is that we would be solving this problem with a generic mechanism.
>>
>> So, what I am suggesting is to invest a bit in categories (#Senders can be
>> integrated now) and then we play with it.
>>
>> Is this explanation clearer? Did I misunderstand something? What do you
>> think?
>>
>> Cheers,
>> Doru
>>
>>
>>> On Jan 10, 2016, at 10:23 PM, stepharo <
>
>> stepharo@
>
>> > wrote:
>>>
>>> Ok my last attempt :(
>>>
>>> When I look for something there are two cases
>>>
>>> - most of the time I
>>> ********************KKKKNNNOOOOOOOWWWWWWW*********
>>> is it clear? I know I know I know what I look for and I WANT THE
>>> FASTER WAY TO GET IT
>>> => no three clicks and strange navigation.
>>>
>>> I want the sender of this message (not the implementors the sender)
>>> I want that package
>>> I want the references to this class (not the class and the refs that
>>> class)
>>> and I'm ready to learn
>>> #N for reference
>>> #n for senders
>>> #m for implementors
>>> Because they are the same.
>>> #e for example like in the finder
>>>
>>> - looking around and the system can propose me something
>>> and I can navigate and think.
>>>
>>> But this is ok I just use Spotter to open the class browser and all the
>>> rest I do it with shortcuts.
>>> I tried to help but I failed.
>>>
>>> I will present Spotter as the great tool to open browser because I cannot
>>> use it otherwise and
>>> nobody around me can show me on the spot something more efficient than a
>>> shortcut in a workspace.
>>> Or may be I will simply not spend energy doing a videos on Spotter
>>> because to me this is not ready
>>> and far less usable than it is supposed to be.
>>>
>>> Now to me Spotter is taking a lot of classes for the gain I get. What
>>> esteban did or what is in Squeak
>>> is working perfectly for me because Spotter does not let me express my
>>> needs.
>>> So may be you have other needs but I would like to know how people really
>>> works and not
>>> how Spotter should be usefull.
>>>
>>> The video of dimitry shows that well: Just browse a class and sometimes
>>> you get an implementor
>>> May be you do not like my mail because they look aggressive but when is
>>> the last time
>>> you did a real study with users that were not already convinced. Or may
>>> be with users
>>> that loves just one tiny feature and not the one you think that they use?
>>>
>>> And BTW it hangs my images two times with 4.0 when I was in africa and
>>> this was annoying.
>>> Stef
>>>
>>>
>>>>> I do not get why you cannot
>>>>> - have a set of fixed most used queries and this will create a small
>>>>> vocabulary that can be extensible
>>>>> and it can be mapped to what we do with shortcuts = reduce cognitive
>>>>> load
>>>>> and then a full search when you do not know what you are searching.
>>>>> This is not exclusive and it works for the two scenario.
>>>>
>>>> I understand the intention, but I do not understand how these fixed
>>>> queries are any different than we have now. When you are on the top of
>>>> Spotter, when you query, you get always the same processors being
>>>> executed. At first you will not know their names, and you will scroll.
>>>> And if you see them, you might remember them and reproduce afterwards.
>>>> Itâs a discoverable learning process that you do not have to remember.
>>>
>>> Because with these wonderfull queries I do not get what I'm looking for.
>>> Because the system is trying to guess what I have in my mind and this
>>> system is not good for that because I'm thinking about
>>> the metallica song I'm listening.
>>>
>>>
>>>> The only part that is not discoverable is that # introduces a category
>>>> search. Thinking loud, I just thought that we can make the label start
>>>> with # like this (I committed this change):
>>>
>>> Sorry but I do not get it.
>>>
>>>>
>>>>
>> <Mail Attachment.png>
>>>>
>>>> We also thought of having completion as soon as someone type #. So, you
>>>> have a kind of a dropdown for the available categories, but we did not
>>>> get to implement that one. This should solve the discoverability problem
>>>> even more. What do you think about that?
>>> Why not
>>> but just a ghost with
>>> #n printOn: #m #N ....
>>> would be a huge improvement
>>>
>>> Each time I used Spotter to look for something more than a class I could
>>> not find it.
>>>
>>>
>>>
>>>> Regarding the shortcuts, we could associated such shortcuts with a
>>>> processor, but I would first want to see if we cannot manage to produce
>>>> a solution with the current set of options.
>>>
>>> I was not saying shortcuts and I was thinking the same vocabulary
>>>
>>> Cmd+N
>>> #N
>>> Cmd+m
>>> #m
>>> Cmd+n
>>> #n
>>>>
>>>>
>>>>> I was discussing with Luc and he made a fun but sad remark
>>>>> "Since people do not understand well spotter they most of the time
>>>>> only use it to open a class.
>>>>> And this is something that he already had before."
>>>>> I briefly looked at the Youtube video of Chloupis and
>>>>> So you can have a generic super cool tool, if people do not use it it
>>>>> defeats its purpose.
>>>>
>>>> Certainly.
>>>>
>>>>
>>>>> You can be really happy because you go fast with it but you only.
>>>>
>>>> That is not really true :).
>>>
>>> See my remark above.
>>>>
>>>>> So making sure that the most used actions are really supported is
>>>>> important.
>>>>
>>>> Of course it is. For Senders we did not find a good solution yet that is
>>>> reasonably fast and useful. Stefan and I are still literally working on
>>>> this. I think we should be able to have a solution, but we have to see
>>>> if it is reasonable enough. We will announce it once we have it working.
>>>
>>> the problem is that you want to solve everything at once. While the
>>> divide and conquer is the solution for the first
>>> scenario I mention. I do not need something that crawls the entire system
>>> when I have one precise query.
>>>
>>>
>>>>
>>>> But, really, this tool more than anything allows one to play with
>>>> possibilities in a couple of lines of code. We want people to play (some
>>>> did) and to get concrete feedback and possible solutions. I think we
>>>> should not just say that we need something else before we actually play
>>>> with it a bit more.
>>> I do not get it.
>>> I never worked with me. And so far I did not see anybody succeeding to
>>> show me how to find something that I cannot
>>> find faster with a shortcut.
>>>
>>>
>>>
>>>>> But more important the discoverability is important because there is
>>>>> not even a help.
>>>>> Right now as a user I can only guess and often I close spotter and use
>>>>> my shortcuts.
>>>>> As a user I see something that ask me about network (and I do not care)
>>>>> but nothing
>>>>> that brings me to the next level.
>>>>
>>>> This is something we need to work on, but you know, time is limited for
>>>> us, too.
>>>
>>> Add a button and an help text copied from your blog!
>>> And you will have made a 100% documentation jump.
>>>>
>>>>
>>>>> Most of the time the user forgets the key combination (may be this will
>>>>> be solved with
>>>>> the cool shortcut reminder we developed and is under review)
>>>>
>>>> All actions in spotter have a visible icon. All. And if you hover over
>>>> it you get the command. And there are literally 5 such actions. What is
>>>> missing in this regard from your point of view?
>>>
>>> I do not know
>>> They do not cover what I want to do.
>>> I do not care of setting
>>> Most of the time I do not care about seeing all. I saw now that you
>>> have an arrow to show more than the top 5
>>> good but again Cmd-shift > is not easy to type and give pain.
>>> I do not understand why I should dive in most of the time.
>>>
>>> I realised that I could use Spotter when I saw that I can press shift
>>> under the return because
>>> before I got immediate pain when trying with the left shift.
>>> To me left shift is a NO WAY.
>>> esc (top left) would work but I did not have the time to hack Spotter.
>>>
>>>>
>>>> Doru
>>>>
>>>>
>>>>> Stef
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>> www.feenk.com
>>>>
>>>> "Reasonable is what we are accustomed with."
>>>>
>>>
>>
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "The coherence of a trip is given by the clearness of the goal."
>>
>>
>>
>>
>>
>>
>>
>> a GTSpotterMorph(858507264)2016-01-10T23-06-19-10433+02-00.png (108K)
>> <http://forum.world.st/attachment/4870487/0/a%20GTSpotterMorph%28858507264%292016-01-10T23-06-19-10433%2B02-00.png>
>> a GTSpotterMorph(10402452482016-01-10T23-11-35-849359+02-00.png (130K)
>> <http://forum.world.st/attachment/4870487/1/a%20GTSpotterMorph%2810402452482016-01-10T23-11-35-849359%2B02-00.png>
>
>
>
>
>
> --
> View this message in context: http://forum.world.st/Understanding-Spotter-tp4870311p4870547.html
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>
--
www.tudorgirba.com
www.feenk.com
"Things happen when they happen,
not when you talk about them happening."
Jan. 11, 2016
Re: [Pharo-dev] Bad layoutFrame>>#hash
by Sven Van Caekenberghe
David,
> On 11 Jan 2016, at 10:01, David Allouche <david(a)allouche.net> wrote:
>
> I happened to look at the new code for LayoutFrame>>#hash
>
> hash
> ^self species hash bitXor:
> (self leftFraction bitXor:
> (self leftOffset bitXor:
> (self topFraction bitXor:
> (self topOffset bitXor:
> (self rightFraction bitXor:
> (self rightOffset bitXor:
> (self bottomFraction bitXor:
> self bottomOffset)))))))
>
> This is a terrible, terrible way to compute a hash.
>
> 0 xor 0 = 1 xor 1 = 2 xor 2 = etc.
>
> NEVER compute hashes with xor, that's wrong, and it causes horrible, hard to debug, performance bugs down the road.
Yeah, that doesn't look very good ;-)
> SequenceableCollection>>#hash looks more like a correct way of doing it. I do not know what is the correct, efficient way to reuse this logic in LayoutFrame>>#hash.
There is actually a 2 part book just about hashing in Smalltalk:
http://www.lulu.com/shop/andres-valloud/hashing-in-smalltalk-theory-and-pra…
It is said to be very good, I sadly have not yet read it ;-)
> By the way, how do you guys do code reviews for code integrated into the core?
'Pharo is yours' which means: if you encounter something odd, you are encouraged to improve it. Maybe first discuss it on the ML. If necessary create an issue. Better provide a fix.
Sven
Jan. 11, 2016
Re: [Pharo-dev] Bad layoutFrame>>#hash
by David Allouche
Since it's not obvious why xor-ing is a bad way to produce hash, here is a link that gives some background
https://en.wikipedia.org/wiki/Hash_function#Uniformity
> On 11 Jan 2016, at 10:01, David Allouche <david(a)allouche.net> wrote:
>
> I happened to look at the new code for LayoutFrame>>#hash
>
> hash
> ^self species hash bitXor:
> (self leftFraction bitXor:
> (self leftOffset bitXor:
> (self topFraction bitXor:
> (self topOffset bitXor:
> (self rightFraction bitXor:
> (self rightOffset bitXor:
> (self bottomFraction bitXor:
> self bottomOffset)))))))
>
> This is a terrible, terrible way to compute a hash.
>
> 0 xor 0 = 1 xor 1 = 2 xor 2 = etc.
>
> NEVER compute hashes with xor, that's wrong, and it causes horrible, hard to debug, performance bugs down the road.
>
> SequenceableCollection>>#hash looks more like a correct way of doing it. I do not know what is the correct, efficient way to reuse this logic in LayoutFrame>>#hash.
>
> By the way, how do you guys do code reviews for code integrated into the core?
>
Jan. 11, 2016
Bad layoutFrame>>#hash
by David Allouche
I happened to look at the new code for LayoutFrame>>#hash
hash
^self species hash bitXor:
(self leftFraction bitXor:
(self leftOffset bitXor:
(self topFraction bitXor:
(self topOffset bitXor:
(self rightFraction bitXor:
(self rightOffset bitXor:
(self bottomFraction bitXor:
self bottomOffset)))))))
This is a terrible, terrible way to compute a hash.
0 xor 0 = 1 xor 1 = 2 xor 2 = etc.
NEVER compute hashes with xor, that's wrong, and it causes horrible, hard to debug, performance bugs down the road.
SequenceableCollection>>#hash looks more like a correct way of doing it. I do not know what is the correct, efficient way to reuse this logic in LayoutFrame>>#hash.
By the way, how do you guys do code reviews for code integrated into the core?
Jan. 11, 2016
17348 Enhance shortcut learnability
by Nicolai Hess
Can please someone translate / change the text in the
Shortcut reminder Morph settings.( that got integrated in 50521)
see my comment on
https://pharo.fogbugz.com/f/cases/17348/Enhance-shortcut-learnability#BugEv…
and I asked for resubmitting the changes with proper author initials
instead of "tr" and if he signed the license agreement.
Anyone knows more about "tr" ?
And I am not sure if the right version is integrated.
nicolai
Jan. 11, 2016
Morphic Migrations gotchas, was Re: Better class comment version2
by Stephan Eggermont
On 10-01-16 23:16, Thierry Goubier wrote:
> Hi David,
>
> this is the bug with LayoutFrame>>#fractions:offsets: we were talking
> about relative to that class comment.
>
> In Pharo, Rectangles are constrained to have the smallest vertical value
> as the top, smallest horizontal value as the left, largest vertical
> value as bottom and largest horizontal value as right.
Indeed. And there is no Morphic documentation at all that is aware of
that, as nearly all of it was written before we changed the behavior of
Rectangle in Pharo, and it is a change that is not done in Squeak. The
result is that nearly no old Morphic code will run unmodified in Pharo.
I would like to collect a list of these gotchas, preferably with
solutions, to make it easier for people to update/migrate old morphic
code. Post them here, or mail them to me.
Stephan
Jan. 11, 2016
Re: [Pharo-dev] How to get launcher launching Spur images?
by Stephan Eggermont
On 10-01-16 18:49, stepharo wrote:
> I changed the setting to be the following but I cannot get a spur image
> started on mac.
> Does anybody succeed?
The paths look good to me.
Yes, it works for me on both Linux and Mac. These are my paths
Spur:
/Users/stephan/Library/Application
Support/Pharo/spur/pharo-vm/Pharo.app/Contents/MacOS/Pharo
Cog:
/Users/stephan/Library/Application
Support/Pharo/vms/pharo-vm/Pharo.app/Contents/MacOS/pharo
Could it be that the OS security manager does not allow the starting?
Do you need to start it once by hand? I loaded the pharo spur vm with
the bash script, that migth be a difference
Stephan
Jan. 11, 2016
New #s senders search functionality was in Spotter Re: Understanding Spotter?
by Paul DeBruicker
Hi Doru,
The lack of this functionality has been my main complaint against spotter.
So thanks for adding it.
Is the #s <myMethodName> functionality backported to/loadable in Pharo 4?
is there an equivalent search for implementors?
Will you also please please please fix it such that the entire list of
search results is shown as its only one category rather than having to 'dive
in' on anything? E.g. In the example you've given you cut the list of
class/method name pairs shown to the first 5 alphabetically where certainly
the entire list of 11 would fit in the drawn window without scrolling. And
really since there aren't any sections you should be able to run a massive
list of 500++ that could be scrolled with the page up/page down keys or
scroll wheel on a mouse.
Thanks
Paul
Tudor Girba-2 wrote
> Hi Stef,
>
> Thanks for taking the time. I think I did not express myself properly in
> the previous mail because we are not really in disagreement :).
>
> The basic mechanism you talk about exists already in Spotter. Let me
> explain. When you type: "#e graphs", you will get two examples (and only
> the example search is being performed).
>
>
>
> This works because the name of the âExamplesâ category starts with âEâ.
>
> Until now we did not have a top level processor that would search for
> Senders (only inside a method). So, because of this you could not search
> for them at the top level. In the meantime Stefan just finished
> implementing it, the name of the category is Senders. So, you will type
> â#s somethingâ.
>
>
>
> I now made the category name start with # so that it is closer to the way
> to query for it. So, when you do not know how, you will just search for
> âsomethingâ. Then you will discover the #Senders category, and then you
> can learn that you can search for it.
>
> Now, you seem to be saying that instead of â#s somethingâ you want to type
> â#n somethingâ. For this we would need to find a solution to reconcile the
> two. My proposal was to maybe introduce something like â&n somethingâ to
> distinguish between the string match of a category name and a âshortcutâ
> (I do not know how to call it). I can see how to do this technically, but
> I still think this is less discoverable then the filtering by the name
> like described above, and it would be an extra mechanism. We could add
> this shortcut next to the category name to address this issue. The
> interesting thing about the shortcut is that we could possibly make it
> less ambiguous. For example, if you have two categories starting with #S,
> you will get both when you type â#S somethingâ, which is less ideal for a
> common case. So, there are pros and cons.
>
> Now, what is missing is a top level category for References, and I really
> think we would have what you wanted (and it is a good goal). The cool
> thing is that we would be solving this problem with a generic mechanism.
>
> So, what I am suggesting is to invest a bit in categories (#Senders can be
> integrated now) and then we play with it.
>
> Is this explanation clearer? Did I misunderstand something? What do you
> think?
>
> Cheers,
> Doru
>
>
>> On Jan 10, 2016, at 10:23 PM, stepharo <
> stepharo@
> > wrote:
>>
>> Ok my last attempt :(
>>
>> When I look for something there are two cases
>>
>> - most of the time I
>> ********************KKKKNNNOOOOOOOWWWWWWW*********
>> is it clear? I know I know I know what I look for and I WANT THE
>> FASTER WAY TO GET IT
>> => no three clicks and strange navigation.
>>
>> I want the sender of this message (not the implementors the sender)
>> I want that package
>> I want the references to this class (not the class and the refs that
>> class)
>> and I'm ready to learn
>> #N for reference
>> #n for senders
>> #m for implementors
>> Because they are the same.
>> #e for example like in the finder
>>
>> - looking around and the system can propose me something
>> and I can navigate and think.
>>
>> But this is ok I just use Spotter to open the class browser and all the
>> rest I do it with shortcuts.
>> I tried to help but I failed.
>>
>> I will present Spotter as the great tool to open browser because I cannot
>> use it otherwise and
>> nobody around me can show me on the spot something more efficient than a
>> shortcut in a workspace.
>> Or may be I will simply not spend energy doing a videos on Spotter
>> because to me this is not ready
>> and far less usable than it is supposed to be.
>>
>> Now to me Spotter is taking a lot of classes for the gain I get. What
>> esteban did or what is in Squeak
>> is working perfectly for me because Spotter does not let me express my
>> needs.
>> So may be you have other needs but I would like to know how people really
>> works and not
>> how Spotter should be usefull.
>>
>> The video of dimitry shows that well: Just browse a class and sometimes
>> you get an implementor
>> May be you do not like my mail because they look aggressive but when is
>> the last time
>> you did a real study with users that were not already convinced. Or may
>> be with users
>> that loves just one tiny feature and not the one you think that they use?
>>
>> And BTW it hangs my images two times with 4.0 when I was in africa and
>> this was annoying.
>> Stef
>>
>>
>>>> I do not get why you cannot
>>>> - have a set of fixed most used queries and this will create a small
>>>> vocabulary that can be extensible
>>>> and it can be mapped to what we do with shortcuts = reduce cognitive
>>>> load
>>>> and then a full search when you do not know what you are searching.
>>>> This is not exclusive and it works for the two scenario.
>>>
>>> I understand the intention, but I do not understand how these fixed
>>> queries are any different than we have now. When you are on the top of
>>> Spotter, when you query, you get always the same processors being
>>> executed. At first you will not know their names, and you will scroll.
>>> And if you see them, you might remember them and reproduce afterwards.
>>> Itâs a discoverable learning process that you do not have to remember.
>>
>> Because with these wonderfull queries I do not get what I'm looking for.
>> Because the system is trying to guess what I have in my mind and this
>> system is not good for that because I'm thinking about
>> the metallica song I'm listening.
>>
>>
>>> The only part that is not discoverable is that # introduces a category
>>> search. Thinking loud, I just thought that we can make the label start
>>> with # like this (I committed this change):
>>
>> Sorry but I do not get it.
>>
>>>
>>>
> <Mail Attachment.png>
>>>
>>> We also thought of having completion as soon as someone type #. So, you
>>> have a kind of a dropdown for the available categories, but we did not
>>> get to implement that one. This should solve the discoverability problem
>>> even more. What do you think about that?
>> Why not
>> but just a ghost with
>> #n printOn: #m #N ....
>> would be a huge improvement
>>
>> Each time I used Spotter to look for something more than a class I could
>> not find it.
>>
>>
>>
>>> Regarding the shortcuts, we could associated such shortcuts with a
>>> processor, but I would first want to see if we cannot manage to produce
>>> a solution with the current set of options.
>>
>> I was not saying shortcuts and I was thinking the same vocabulary
>>
>> Cmd+N
>> #N
>> Cmd+m
>> #m
>> Cmd+n
>> #n
>>>
>>>
>>>> I was discussing with Luc and he made a fun but sad remark
>>>> "Since people do not understand well spotter they most of the time
>>>> only use it to open a class.
>>>> And this is something that he already had before."
>>>> I briefly looked at the Youtube video of Chloupis and
>>>> So you can have a generic super cool tool, if people do not use it it
>>>> defeats its purpose.
>>>
>>> Certainly.
>>>
>>>
>>>> You can be really happy because you go fast with it but you only.
>>>
>>> That is not really true :).
>>
>> See my remark above.
>>>
>>>> So making sure that the most used actions are really supported is
>>>> important.
>>>
>>> Of course it is. For Senders we did not find a good solution yet that is
>>> reasonably fast and useful. Stefan and I are still literally working on
>>> this. I think we should be able to have a solution, but we have to see
>>> if it is reasonable enough. We will announce it once we have it working.
>>
>> the problem is that you want to solve everything at once. While the
>> divide and conquer is the solution for the first
>> scenario I mention. I do not need something that crawls the entire system
>> when I have one precise query.
>>
>>
>>>
>>> But, really, this tool more than anything allows one to play with
>>> possibilities in a couple of lines of code. We want people to play (some
>>> did) and to get concrete feedback and possible solutions. I think we
>>> should not just say that we need something else before we actually play
>>> with it a bit more.
>> I do not get it.
>> I never worked with me. And so far I did not see anybody succeeding to
>> show me how to find something that I cannot
>> find faster with a shortcut.
>>
>>
>>
>>>> But more important the discoverability is important because there is
>>>> not even a help.
>>>> Right now as a user I can only guess and often I close spotter and use
>>>> my shortcuts.
>>>> As a user I see something that ask me about network (and I do not care)
>>>> but nothing
>>>> that brings me to the next level.
>>>
>>> This is something we need to work on, but you know, time is limited for
>>> us, too.
>>
>> Add a button and an help text copied from your blog!
>> And you will have made a 100% documentation jump.
>>>
>>>
>>>> Most of the time the user forgets the key combination (may be this will
>>>> be solved with
>>>> the cool shortcut reminder we developed and is under review)
>>>
>>> All actions in spotter have a visible icon. All. And if you hover over
>>> it you get the command. And there are literally 5 such actions. What is
>>> missing in this regard from your point of view?
>>
>> I do not know
>> They do not cover what I want to do.
>> I do not care of setting
>> Most of the time I do not care about seeing all. I saw now that you
>> have an arrow to show more than the top 5
>> good but again Cmd-shift > is not easy to type and give pain.
>> I do not understand why I should dive in most of the time.
>>
>> I realised that I could use Spotter when I saw that I can press shift
>> under the return because
>> before I got immediate pain when trying with the left shift.
>> To me left shift is a NO WAY.
>> esc (top left) would work but I did not have the time to hack Spotter.
>>
>>>
>>> Doru
>>>
>>>
>>>> Stef
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> www.tudorgirba.com
>>> www.feenk.com
>>>
>>> "Reasonable is what we are accustomed with."
>>>
>>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "The coherence of a trip is given by the clearness of the goal."
>
>
>
>
>
>
>
> a GTSpotterMorph(858507264)2016-01-10T23-06-19-10433+02-00.png (108K)
> <http://forum.world.st/attachment/4870487/0/a%20GTSpotterMorph%28858507264%292016-01-10T23-06-19-10433%2B02-00.png>
> a GTSpotterMorph(10402452482016-01-10T23-11-35-849359+02-00.png (130K)
> <http://forum.world.st/attachment/4870487/1/a%20GTSpotterMorph%2810402452482016-01-10T23-11-35-849359%2B02-00.png>
--
View this message in context: http://forum.world.st/Understanding-Spotter-tp4870311p4870547.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Jan. 11, 2016