Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- 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
- 1 participants
- 144619 messages
Re: [Pharo-dev] Understanding Spotter?
by Ben Coman
On Mon, Jan 11, 2016 at 4:23 AM, stepharo <stepharo(a)free.fr> 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.
>
After first typing the search string, could we be able to hit Alt-m to
filter for implementers. Then my muscle memory [1] is directly applicable
(and I'll be working like a ninja ;).
[1] https://en.wikipedia.org/wiki/Muscle_memory
cheers -ben
#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.
>
>
>
> 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."
>
>
>
Jan. 11, 2016
[ANN] Pharo Consortium New Gold Member: Synectique
by Marcus Denker
The Pharo Consortium is very happy to announce that Synectique
has joined the Consortium as an Gold Member.
About
- Synectique: http://www.synectique.eu/ <http://www.synectique.eu/>
- Pharo Consortium: http://consortium.pharo.org <http://consortium.pharo.org/>
The goal of the Pharo Consortium is to allow companies and institutions to
support the ongoing development and future of Pharo.
Individuals can support Pharo via the Pharo Association:
http://association.pharo.org <http://association.pharo.org/>
Jan. 11, 2016
Re: [Pharo-dev] 17348 Enhance shortcut learnability
by Marcus Denker
Hello,
I wil reopen the issue and put your comment there.
Marcus
> On 11 Jan 2016, at 09:56, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
> 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… <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
Re: [Pharo-dev] New #s senders search functionality was in Spotter Re: Understanding Spotter?
by Tudor Girba
Hi,
> On Jan 11, 2016, at 11:46 AM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
>
>
> 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?
Sorry, I expressed myself badly. I meant to say that having a list of 100k is not a problem. Indeed, we only show 100 (there is a limit specified in Collection>>spotterItemsFor:). It would be ideal to show all of it (like we do in FastTable) but we thought that for a search interface this is good enough.
Cheers,
Doru
>
>
> 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."
--
www.tudorgirba.com
www.feenk.com
"When people care, great things can happen."
Jan. 11, 2016
happy lessons from recent talks
by Tudor Girba
Hi,
I just wanted to share with you a bit of a different perspective on what we do around here.
Over the past half a year I gave several talks to some 1k technical people at industrial events like ArchConf, NDC Oslo and several others. The tour will continue this year at OOP, ArchConf and a couple of other places. These are places where people talk about mainstream techniques & technologies (like Java, JS, C#). For example, ArchConf is a premier software architecture conference in the US.
During these sessions, people get to experience Moose and Pharo through live demos. I use these demos as examples of how humane assessment (building your own analysis tools) can boost engineering decisions making in practice.
I consistently receive the feedback that the live programming possibilities from Pharo/Moose are impressive. But, more recently, there is something else worthy of being noted. If in previous years, nobody heard about what we do, this year I started to get consistently a couple of persons in the room that have heard something about Pharo/Moose before the presentation.
This is huge. While a couple might not sound like much, you should remember that information (especially in this technical space) has the capability of spreading exponentially. What we have done over the past years starts to show results. We have to keep it up.
Happy New Year!
Cheers,
Doru
--
www.tudorgirba.com
www.feenk.com
"Problem solving should be focused on describing
the problem in a way that makes the solution obvious."
Jan. 11, 2016
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