Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 3 participants
- 144635 messages
Re: [Pharo-dev] About CommentPane
by stepharo
Welcome Liang
On which version of Pharo are you?
I like to browse fast all the comments of the classes of a package.
So this is handy that it does not get close.
Can you tell us a bit more what you are doing and where you are from?
Stef
Le 20/4/16 07:05, lb a écrit :
> The commentPane is opened, when package is changed, the commentPane
> should
>
> 1. be closed
> 2. be empty
> 3. or still keep old content ? (current state)
>
>
> Cheers
>
> Bing Liang
>
>
April 20, 2016
Re: [Pharo-dev] About CommentPane
by Max Leske
What do you mean by âcommentPaneâ? Which tool are you referring to?
> On 20 Apr 2016, at 07:05, lb <liangbing64(a)126.com> wrote:
>
> The commentPane is opened, when package is changed, the commentPane should
>
> 1. be closed
> 2. be empty
> 3. or still keep old content ? (current state)
>
>
> Cheers
>
> Bing Liang
>
>
>
April 20, 2016
Re: [Pharo-dev] What the state of unifying Beacon with SystemLogger?
by stepharo
I imagine well because I could also do it with SystemLogger.
Now one of the question I faced when I started to think about the UI was:
what is the protocol so that each event can expose domain specific
actions to the tools browsing them
(I did not think at that time about yet another pragma)
For the compiler I would like to have
jumptomethod
<action>
MessageBrowser openWith: self method selection: self variables
So what we see is that we could have a pragma to describe action
but I did not like it.
So now I would have
CompilerLog packaged in Compiler
And
JumpToMethod packaged in CompilerExtrasTools (a package that import
Tools and extend Compiler)
For database
-...
And in the compilerLogItem I do not want to have reference to UI tools
PS: I do not like the name Event because I would prefer to have a
separate domain name from UI.
>> On 19 Apr 2016, at 20:44, stepharo <stepharo(a)free.fr
>> <mailto:stepharo@free.fr>> wrote:
>>
>> What I would like and that I wanted to SystemLogger was that the
>> compiler for example could issue a log event and that we could build
>> a tools to browse only such events and that I can click on it and
>> jump right in the method with shadowing variables for example.
>> So to get something more than dead strings.
>
> Of course.
>
> This is already the case with Zinc.
>
> Just inspect
>
> ZnLogEvent announcer.
>
> And then do
>
> ZnClient new get: 'http://pharo.org' <http://pharo.org%27>.
>
> Now go to the first inspector and click on the Announcements tab. You
> see events generated by the Zinc client, real objects with all kinds
> of interesting objects inside of them:
>
>
>> Le 19/4/16 15:55, Tudor Girba a écrit :
>>> Hi,
>>>
>>> I even reviewed this post :).
>>>
>>> Of course, you can just use plain Announcements, but I still need to
>>> nuance your too strong statement. A framework is worthwhile when
>>> there is a recurrent need that it can serve. And when it comes
>>> to logging there are several such needs. For example:
>>> - reusing typical events (e.g., logging an exception)
>>> - reusing storage possibilities
>>> - having a timestamp for events
>>>
>>> I think it is worthwhile to have support out of the box for handling
>>> these.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>> On Apr 19, 2016, at 3:44 PM, Sven Van Caekenberghe <sven(a)stfx.eu
>>>> <mailto:sven@stfx.eu>> wrote:
>>>>
>>>> You might want to read
>>>>
>>>> https://medium.com/concerning-pharo/lampsort-revisited-visualised-6652055ef…
>>>>
>>>> that discusses object logging and what you can do with it.
>>>>
>>>> My take on this is that if you write your code to produce log
>>>> events (as Announcements), you can do whatever you want in the end.
>>>> There is no real need to depend on some framework.
>>>>
>>>>> On 19 Apr 2016, at 15:34, Tudor Girba <tudor(a)tudorgirba.com
>>>>> <mailto:tudor@tudorgirba.com>> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Beacon is being used systematically. We even said we will
>>>>> integrate it in the image for Pharo 5 at the end of last year, but
>>>>> after the agitated start of the year, I did not push it anymore to
>>>>> not increase the level of agitation.
>>>>>
>>>>> The only class name that encountered some opposition was
>>>>> BoundedBeacon.
>>>>>
>>>>> We also agreed that the only things we want from SystemLogger were
>>>>> the concrete connections to external storage. This was not done,
>>>>> but the idea was that we should first integrate them and
>>>>> then allow people to extend it with bindings to external storage.
>>>>>
>>>>> I use Beacon on a regular basis, and I extended it recently with a
>>>>> couple of more Signal types that can capture exceptions and stack
>>>>> information. You now also have a better integration in
>>>>> the inspector to be able to start/pause an in-memory log stream.
>>>>> In the process I also added the possibility to remove
>>>>> Announcements from an AnnouncementSet and I would like to push
>>>>> this in Pharo 6.0. One thing I would work on is to add to
>>>>> Annoucements the possibility of filtering announcements based on
>>>>> instances not just types. This is a longer term plan.
>>>>>
>>>>> Another thing to do is to ensure that the log signals are not
>>>>> expensive to create. For example, the ExceptionSignal,
>>>>> ContextStackSignal and MethodStackSignal manipulate thisContext
>>>>> right at creation time, while this should happen only when we
>>>>> actually capture it in a BoundedBeacon to manipulate/store it in a
>>>>> specific way. This part should be refined.
>>>>>
>>>>> @Dennis: it would be great to join efforts. The two frameworks
>>>>> look similar, but there are 2 significant differences:
>>>>> 1. SystemLogger has its own log events propagation mechanism,
>>>>> Beacon uses Announcements.
>>>>> 2. SystemLogger relies on levels of filtering, Beacon uses the
>>>>> mechanisms from Announcements to pick and choose at a fine grain
>>>>> level which log signals should be logged.
>>>>>
>>>>> For reference:
>>>>> - description: http://www.humane-assessment.com/blog/beacon/
>>>>> - repository: http://www.smalltalkhub.com/#!/~Pharo/Beacon
>>>>> <http://www.smalltalkhub.com/#%21/%7EPharo/Beacon>
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>>> On Apr 19, 2016, at 2:59 PM, stepharo <stepharo(a)free.fr
>>>>>> <mailto:stepharo@free.fr>> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Le 18/4/16 18:28, Denis Kudriashov a écrit :
>>>>>>> Hello.
>>>>>>>
>>>>>>> Year ago Beacon and SystemLogger were announced. There was big
>>>>>>> discussion about them. And there were plans to provide single
>>>>>>> solution. What was done around that?
>>>>>> Nothing. We should have done it at Cambridge and we just discussed.
>>>>>> I did not like some Beacon class names because they are totally
>>>>>> confusing.
>>>>>>> What exactly should be merged between this libraries? Was Beacon
>>>>>>> or SystemLogger planned to be end solution?
>>>>>> We planned to merge SystemLogger into Beacon to use announcements
>>>>>>> We definitely need legacy logging tool for Pharo. And I am going
>>>>>>> to work on this direction.
>>>>>>> Personally I prefer metaphor and names from Beacon. But both
>>>>>>> libraries implement similar idea.
>>>>>> Remember that you want to have them short especially for the main
>>>>>> one. This is why in SystemLogger
>>>>>> we have Log instead of what it is LogObject if I remember correctly.
>>>>>>> Best regards,
>>>>>>> Denis
>>>>>>
>>>>> --
>>>>> www.tudorgirba.com <http://www.tudorgirba.com>
>>>>> www.feenk.com
>>>>>
>>>>> âLive like you mean it."
>>>>>
>>>>>
>>>>
>>> --
>>> www.tudorgirba.com <http://www.tudorgirba.com>
>>> www.feenk.com
>>>
>>> "Problem solving efficiency grows with the abstractness level of
>>> problem understanding."
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
April 20, 2016
About CommentPane
by lb
The commentPane is opened, when package is changed, the commentPane should
1. be closed
2. be empty
3. or still keep old content ? (current state)
Cheers
Bing Liang
April 20, 2016
Re: [Pharo-dev] [Ann] New version of Mocketry 3.0
by Sean P. DeNigris
Tudor Girba-2 wrote
> It is your prerogative :), but âshould got" sounds broken :(.
Sounds like fingernails on a chalkboard IMH-native-english-speaker-O ;)
-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Ann-New-version-of-Mocketry-3-0-tp4888628p4890904.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
April 20, 2016
Re: [Pharo-dev] [Pharo-users] GTDebugger shortcuts usability
by Tudor Girba
We already agreed to have the shortcuts externalized and we will try to do for Pharo 5. Please letâs close this topic and move on.
Doru
> On Apr 19, 2016, at 10:57 PM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>
> We can have both, or we can make it super easy to enable or customise them.
>
> Phil has a point: it seems there is some standard out there.
>
>> On 19 Apr 2016, at 22:49, phil(a)highoctane.be wrote:
>>
>>
>>
>> On Tue, Apr 19, 2016 at 8:38 PM, Eliot Miranda <eliot.miranda(a)gmail.com> wrote:
>>>
>>>
>>>
>>> On Tue, Apr 19, 2016 at 6:52 AM, stepharo <stepharo(a)free.fr> wrote:
>>>>
>>>> This F keys suck!
>>>
>>>
>>> +1. How do you remember which F key does what in the Debugger? F10 - fix my code to be a perfect 10??
>>>
>> Yeah, sure.
>>
>> Visual Studio is standardized on that an millions of people are using it.
>> https://msdn.microsoft.com/en-us/library/aa239052%28v=vs.60%29.aspx?f=255&M…
>>
>> Same for PhpStorm, WebStorm, and Intellij IDEA, also used by millions.
>> Talk about keymaps: check this --> https://www.jetbrains.com/help/phpstorm/2016.1/function-keys.html?origin=ol…
>> (note the dropdown on the top right).
>>
>> Let's talk Chrome devtools (just a litte user base of millions as well):
>>
>> F8 -> Run
>> F10 -> Step over
>> F11 -> Step into
>>
>> Let's talk Firefox (okay, a tad less users)
>>
>> https://developer.mozilla.org/en-US/docs/Tools/Debugger/Keyboard_shortcuts
>>
>> Resume execution when at a breakpoint F8
>> Step over F10
>> Step into F11
>> Step out Shift + F11
>>
>> CodeBlocks IDE
>> http://wiki.codeblocks.org/index.php/Keyboard_Shortcuts
>>
>> Debug
>>
>> Function Shortcut Key
>> Debug F8
>> Continue debugging Ctrl + F7
>> Step over a code block F7
>> Step into a code block Shift + F7
>> Step out of a code block Ctrl + Shift + F7
>> Toggle breakpoint F5
>> Run to cursor F4
>> Previous error Alt + F1
>> Next error Alt + F2
>>
>> Vim plugins for debugging Ruby:
>>
>> You may find useful to override default shortcut commands by F5-F8 shortcuts. Add these to your .vimrc:
>>
>> map <F7> :call g:RubyDebugger.step()<CR>
>> map <F5> :call g:RubyDebugger.next()<CR>
>> map <F8> :call g:RubyDebugger.continue()<CR>
>>
>> Even SAP uses F keys for that.
>>
>>
>> f5->step by step
>> f6->to skip the statements like perform,module,..
>> f7->to come out from the form,module,..
>> f8->run upto the cursor or run completely
>>
>> R studio:
>>
>> Toggle Breakpoint Shift+F9
>> Execute Next Line F10
>> Step Into Function Shift+F4
>> Finish Function/Loop Shift+F6
>> Continue Shift+F5
>> Stop Debugging Shift+F8
>>
>>
>> Delphi:
>>
>> F4 Run program to current cursor position
>> F5 Toggle breakpoint
>> F7 Debugger step into
>> Shift - F7 Trace into next source line
>> F8 Debugger step over
>> Shift - F8 Run until return
>> F9 Run program under debugger
>>
>>
>> ActiveState Komodo IDE:
>>
>> Step In F11
>> Step Over F10
>> Step Out Shift-F11
>> Start F5
>>
>> CodeLite
>>
>> Start/continue debugger F5
>> Step Into F11
>> Next F10
>> Step Out Shift-F11
>>
>> Dolphin X6
>>
>> Go F5
>> Step Into F11
>> Step Over F10
>> Step Out Shift-F11
>> Run to cursor Ctl-F10
>> Run Ctl-F5
>> Restart Ctl-Shift-F5
>>
>> Toad debugger for PL/SQL
>>
>> F11
>> Run (continue execution)
>> F12
>> Run to cursor
>> SHIFT+F5
>> Set or delete a breakpoint on the current line
>> SHIFT+F7
>> Trace into
>> SHIFT+F8
>> Step over
>> SHIFT+F10
>> Trace out
>>
>> Visualworks debugger
>>
>> Step Into: F5
>> Step: F6
>> Step Over: F7
>> Run: F9
>>
>> World+dog uses F keys for debugging.
>>
>> But Pharo? Nah!
>>
>> We have a great debugger? Sure let's hide it under absconse shortcuts that only we know.
>>
>> New debugger is nicer looking but more painful to use and I never used any shortcut on it as they aren't those standard things.
>>
>> Anyway, I should be able to hack that the way I want, so, no real issue.
>>
>> Remember, first impressions count.
>> This is a key one if we put "programming in the debugger" as a strong point of the environment.
>>
>> Ok on a Mac, F keys do involve a 'Fn' press because they are hidden under volume, brightness etc.
>> So, on a Mac, that is more sucky than on Unix or Windows. Sure. There's a system preference to switch to normal.
>>
>> I'll get a hotmilk and a walk now. Need to calm down. "Functions keys do suck" What ?!
>>
>> Phil
>>
>>
>>>>
>>>>
>>>> Stef
>>>>
>>>> Le 17/4/16 18:00, Ben Coman a écrit :
>>>>
>>>>> Interesting. A search turned up... Quick Tip Debugger Shortcut Key Reference
>>>>> http://www.mularien.com/blog/category/eclipse/
>>>>>
>>>>> cheers -ben
>>>>>
>>>>> On Sun, Apr 17, 2016 at 11:15 PM, philippe.back(a)highoctane.be
>>>>> <philippe.back(a)gmail.com> wrote:
>>>>>>
>>>>>> Most of the world IDE use function keys for debugging.
>>>>>>
>>>>>> Additional benefit: easier for newcomers to use it.
>>>>>>
>>>>>> Having the buttons on the top is a pain as the code pane is at the bottom
>>>>>> and requires travels all the time.
>>>>>>
>>>>>> Phil
>>>>>>
>>>>>> On Apr 17, 2016 4:57 PM, "Peter Uhnák" <i.uhnak(a)gmail.com> wrote:
>>>>>>>
>>>>>>> Well, I've added a startup script for myself... but it would be nice to
>>>>>>> have it everywhere by default in some variant...
>>>>>>>
>>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>> StartupPreferencesLoader default executeAtomicItems: {
>>>>>>> StartupAction
>>>>>>> name: 'Change debugger labels & shortcuts'
>>>>>>> code: [
>>>>>>> GLMMorphicActionRenderer compile: (
>>>>>>> (GLMMorphicActionRenderer>>#render:) sourceCode
>>>>>>> copyReplaceAll: 'setBalloonText: (anAction title'
>>>>>>> with: 'setBalloonText: (anAction title asString'
>>>>>>> ).
>>>>>>> RestartDebugAction compile: 'defaultKeyText
>>>>>>> ^ ''R'''.
>>>>>>> RestartDebugAction compile: 'defaultLabel
>>>>>>> ^ ''Restart'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>>>>> ResumeDebugAction compile: 'defaultKeyText
>>>>>>> ^ ''P'''.
>>>>>>> ResumeDebugAction compile: 'defaultLabel
>>>>>>> ^ ''Proceed'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>>>>> StepIntoDebugAction compile: 'defaultKeyText
>>>>>>> ^ ''I'''.
>>>>>>> StepIntoDebugAction compile: 'defaultLabel
>>>>>>> ^ ''Into'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>>>>> StepOverDebugAction compile: 'defaultLabel
>>>>>>> ^ ''Over'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>>>>> StepThroughDebugAction compile: 'defaultLabel
>>>>>>> ^ ''Through'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>>>>> ]
>>>>>>> runOnce: true.
>>>>>>> }
>>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Apr 16, 2016 at 11:39 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Letâs turn this energy into something positive. Please propose a
>>>>>>>>> concrete set of default keybindings that you think would work better. In
>>>>>>>>> this process, please take into account all keybindings that are already
>>>>>>>>> defined in the code editor (it might not be so easy as it appears).
>>>>>>>>
>>>>>>>>
>>>>>>>> As I've said:
>>>>>>>>
>>>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux btw)
>>>>>>>> 2. can we use the default shortcuts pattern where one of the letters is
>>>>>>>> underlined?
>>>>>>>>
>>>>>>>> as for the shortcuts themselves, problem is proceed, restart & into
>>>>>>>>
>>>>>>>> proceed: ctrl+shift+p is not taken, so I don't see why it has shortcut
>>>>>>>> confusing with restart
>>>>>>>> restart: ctrl+shift+r indents, but I'd argue that uniformity is more
>>>>>>>> important here... indent is just convenience
>>>>>>>> into: ctrl+shift+i is taken (I've never used it, but it maybe it's
>>>>>>>> important), but we can still use ctrl+shift+n and underline n (point 2)
>>>>>>>>
>>>>>>>> If points 1 & 2 are implemented, then the letter is not as important,
>>>>>>>> although first letter is always preferable.
>>>>>>>>
>>>>>>>> Peter
>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Doru
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Apr 16, 2016, at 8:37 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I'm getting fed-up with GTDebugger shortcuts since they are completely
>>>>>>>>>> random.
>>>>>>>>>>
>>>>>>>>>> Can we have them more meaningful and/or somehow visible?
>>>>>>>>>>
>>>>>>>>>> For now I ended up overriding the labels so I can at least see them...
>>>>>>>>>> but doing this is also stupid, because I still have to look at them since I
>>>>>>>>>> cannot remember random shortcuts.
>>>>>>>>>>
>>>>>>>>>> <debugger.png>
>>>>>>>>>>
>>>>>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
>>>>>>>>>> btw)
>>>>>>>>>> 2. can we use the default shortcuts pattern where one of the letters
>>>>>>>>>> is underlined?
>>>>>>>>>>
>>>>>>>>>> Peter
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> www.tudorgirba.com
>>>>>>>>> www.feenk.com
>>>>>>>>>
>>>>>>>>> "Value is always contextual."
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> _,,,^..^,,,_
>>> best, Eliot
>
>
--
www.tudorgirba.com
www.feenk.com
"Innovation comes in the least expected form.
That is, if it is expected, it already happened."
April 19, 2016
Re: [Pharo-dev] What the state of unifying Beacon with SystemLogger?
by Tudor Girba
Hi,
The whole point of Beacon is to make recurrent scenarios easy and always with objects.
For example, see the following snippet:
http://ws.stfx.eu/P9PHFDFN3PU0
In this case we create 3 signals with:
- an exception
- a context stack
- an arbitrary object
In this case, clicking on the exception gives us the stack and each element in the stack has a reference to the RB node that produced it, and this in turn knows how to highlight the source. This becomes even more interesting when you start to have multiple processes running in parallel and you can inspect each signal.
Cheers,
Doru
> On Apr 19, 2016, at 9:22 PM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>
>
>> On 19 Apr 2016, at 20:44, stepharo <stepharo(a)free.fr> wrote:
>>
>> What I would like and that I wanted to SystemLogger was that the compiler for example could issue a log event and that we could build
>> a tools to browse only such events and that I can click on it and jump right in the method with shadowing variables for example.
>> So to get something more than dead strings.
>
> Of course.
>
> This is already the case with Zinc.
>
> Just inspect
>
> ZnLogEvent announcer.
>
> And then do
>
> ZnClient new get: 'http://pharo.org'.
>
> Now go to the first inspector and click on the Announcements tab. You see events generated by the Zinc client, real objects with all kinds of interesting objects inside of them:
>
> <Screen Shot 2016-04-19 at 21.21.12.png>
>
>> Le 19/4/16 15:55, Tudor Girba a écrit :
>>> Hi,
>>>
>>> I even reviewed this post :).
>>>
>>> Of course, you can just use plain Announcements, but I still need to nuance your too strong statement. A framework is worthwhile when there is a recurrent need that it can serve. And when it comes to logging there are several such needs. For example:
>>> - reusing typical events (e.g., logging an exception)
>>> - reusing storage possibilities
>>> - having a timestamp for events
>>>
>>> I think it is worthwhile to have support out of the box for handling these.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>> On Apr 19, 2016, at 3:44 PM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>>>>
>>>> You might want to read
>>>>
>>>> https://medium.com/concerning-pharo/lampsort-revisited-visualised-6652055ef…
>>>>
>>>> that discusses object logging and what you can do with it.
>>>>
>>>> My take on this is that if you write your code to produce log events (as Announcements), you can do whatever you want in the end. There is no real need to depend on some framework.
>>>>
>>>>> On 19 Apr 2016, at 15:34, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Beacon is being used systematically. We even said we will integrate it in the image for Pharo 5 at the end of last year, but after the agitated start of the year, I did not push it anymore to not increase the level of agitation.
>>>>>
>>>>> The only class name that encountered some opposition was BoundedBeacon.
>>>>>
>>>>> We also agreed that the only things we want from SystemLogger were the concrete connections to external storage. This was not done, but the idea was that we should first integrate them and then allow people to extend it with bindings to external storage.
>>>>>
>>>>> I use Beacon on a regular basis, and I extended it recently with a couple of more Signal types that can capture exceptions and stack information. You now also have a better integration in the inspector to be able to start/pause an in-memory log stream. In the process I also added the possibility to remove Announcements from an AnnouncementSet and I would like to push this in Pharo 6.0. One thing I would work on is to add to Annoucements the possibility of filtering announcements based on instances not just types. This is a longer term plan.
>>>>>
>>>>> Another thing to do is to ensure that the log signals are not expensive to create. For example, the ExceptionSignal, ContextStackSignal and MethodStackSignal manipulate thisContext right at creation time, while this should happen only when we actually capture it in a BoundedBeacon to manipulate/store it in a specific way. This part should be refined.
>>>>>
>>>>> @Dennis: it would be great to join efforts. The two frameworks look similar, but there are 2 significant differences:
>>>>> 1. SystemLogger has its own log events propagation mechanism, Beacon uses Announcements.
>>>>> 2. SystemLogger relies on levels of filtering, Beacon uses the mechanisms from Announcements to pick and choose at a fine grain level which log signals should be logged.
>>>>>
>>>>> For reference:
>>>>> - description: http://www.humane-assessment.com/blog/beacon/
>>>>> - repository: http://www.smalltalkhub.com/#!/~Pharo/Beacon
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>>> On Apr 19, 2016, at 2:59 PM, stepharo <stepharo(a)free.fr> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Le 18/4/16 18:28, Denis Kudriashov a écrit :
>>>>>>> Hello.
>>>>>>>
>>>>>>> Year ago Beacon and SystemLogger were announced. There was big discussion about them. And there were plans to provide single solution. What was done around that?
>>>>>> Nothing. We should have done it at Cambridge and we just discussed.
>>>>>> I did not like some Beacon class names because they are totally confusing.
>>>>>>> What exactly should be merged between this libraries? Was Beacon or SystemLogger planned to be end solution?
>>>>>> We planned to merge SystemLogger into Beacon to use announcements
>>>>>>> We definitely need legacy logging tool for Pharo. And I am going to work on this direction.
>>>>>>> Personally I prefer metaphor and names from Beacon. But both libraries implement similar idea.
>>>>>> Remember that you want to have them short especially for the main one. This is why in SystemLogger
>>>>>> we have Log instead of what it is LogObject if I remember correctly.
>>>>>>> Best regards,
>>>>>>> Denis
>>>>>>
>>>>> --
>>>>> www.tudorgirba.com
>>>>> www.feenk.com
>>>>>
>>>>> âLive like you mean it."
>>>>>
>>>>>
>>>>
>>> --
>>> www.tudorgirba.com
>>> www.feenk.com
>>>
>>> "Problem solving efficiency grows with the abstractness level of problem understanding."
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
--
www.tudorgirba.com
www.feenk.com
"It's not what we do that matters most, it's how we do it."
April 19, 2016
Re: [Pharo-dev] [Pharo-users] GTDebugger shortcuts usability
by Esteban A. Maringolo
2016-04-19 17:49 GMT-03:00 phil(a)highoctane.be <phil(a)highoctane.be>:
> On Tue, Apr 19, 2016 at 8:38 PM, Eliot Miranda <eliot.miranda(a)gmail.com>
> wrote:
> But Pharo? Nah!
> We have a great debugger? Sure let's hide it under absconse shortcuts that
> only we know.
>
> New debugger is nicer looking but more painful to use and I never used any
> shortcut on it as they aren't those standard things.
>
> Anyway, I should be able to hack that the way I want, so, no real issue.
>
> Remember, first impressions count.
> This is a key one if we put "programming in the debugger" as a strong point
> of the environment.
+1
Thanks, I totally share you view on this.
Regards!
Esteban A. Maringolo
April 19, 2016
Re: [Pharo-dev] [Pharo-users] GTDebugger shortcuts usability
by Sven Van Caekenberghe
We can have both, or we can make it super easy to enable or customise them.
Phil has a point: it seems there is some standard out there.
> On 19 Apr 2016, at 22:49, phil(a)highoctane.be wrote:
>
>
>
> On Tue, Apr 19, 2016 at 8:38 PM, Eliot Miranda <eliot.miranda(a)gmail.com> wrote:
> >
> >
> >
> > On Tue, Apr 19, 2016 at 6:52 AM, stepharo <stepharo(a)free.fr> wrote:
> >>
> >> This F keys suck!
> >
> >
> > +1. How do you remember which F key does what in the Debugger? F10 - fix my code to be a perfect 10??
> >
> Yeah, sure.
>
> Visual Studio is standardized on that an millions of people are using it.
> https://msdn.microsoft.com/en-us/library/aa239052%28v=vs.60%29.aspx?f=255&M…
>
> Same for PhpStorm, WebStorm, and Intellij IDEA, also used by millions.
> Talk about keymaps: check this --> https://www.jetbrains.com/help/phpstorm/2016.1/function-keys.html?origin=ol…
> (note the dropdown on the top right).
>
> Let's talk Chrome devtools (just a litte user base of millions as well):
>
> F8 -> Run
> F10 -> Step over
> F11 -> Step into
>
> Let's talk Firefox (okay, a tad less users)
>
> https://developer.mozilla.org/en-US/docs/Tools/Debugger/Keyboard_shortcuts
>
> Resume execution when at a breakpoint F8
> Step over F10
> Step into F11
> Step out Shift + F11
>
> CodeBlocks IDE
> http://wiki.codeblocks.org/index.php/Keyboard_Shortcuts
>
> Debug
>
> Function Shortcut Key
> Debug F8
> Continue debugging Ctrl + F7
> Step over a code block F7
> Step into a code block Shift + F7
> Step out of a code block Ctrl + Shift + F7
> Toggle breakpoint F5
> Run to cursor F4
> Previous error Alt + F1
> Next error Alt + F2
>
> Vim plugins for debugging Ruby:
>
> You may find useful to override default shortcut commands by F5-F8 shortcuts. Add these to your .vimrc:
>
> map <F7> :call g:RubyDebugger.step()<CR>
> map <F5> :call g:RubyDebugger.next()<CR>
> map <F8> :call g:RubyDebugger.continue()<CR>
>
> Even SAP uses F keys for that.
>
>
> f5->step by step
> f6->to skip the statements like perform,module,..
> f7->to come out from the form,module,..
> f8->run upto the cursor or run completely
>
> R studio:
>
> Toggle Breakpoint Shift+F9
> Execute Next Line F10
> Step Into Function Shift+F4
> Finish Function/Loop Shift+F6
> Continue Shift+F5
> Stop Debugging Shift+F8
>
>
> Delphi:
>
> F4 Run program to current cursor position
> F5 Toggle breakpoint
> F7 Debugger step into
> Shift - F7 Trace into next source line
> F8 Debugger step over
> Shift - F8 Run until return
> F9 Run program under debugger
>
>
> ActiveState Komodo IDE:
>
> Step In F11
> Step Over F10
> Step Out Shift-F11
> Start F5
>
> CodeLite
>
> Start/continue debugger F5
> Step Into F11
> Next F10
> Step Out Shift-F11
>
> Dolphin X6
>
> Go F5
> Step Into F11
> Step Over F10
> Step Out Shift-F11
> Run to cursor Ctl-F10
> Run Ctl-F5
> Restart Ctl-Shift-F5
>
> Toad debugger for PL/SQL
>
> F11
> Run (continue execution)
> F12
> Run to cursor
> SHIFT+F5
> Set or delete a breakpoint on the current line
> SHIFT+F7
> Trace into
> SHIFT+F8
> Step over
> SHIFT+F10
> Trace out
>
> Visualworks debugger
>
> Step Into: F5
> Step: F6
> Step Over: F7
> Run: F9
>
> World+dog uses F keys for debugging.
>
> But Pharo? Nah!
>
> We have a great debugger? Sure let's hide it under absconse shortcuts that only we know.
>
> New debugger is nicer looking but more painful to use and I never used any shortcut on it as they aren't those standard things.
>
> Anyway, I should be able to hack that the way I want, so, no real issue.
>
> Remember, first impressions count.
> This is a key one if we put "programming in the debugger" as a strong point of the environment.
>
> Ok on a Mac, F keys do involve a 'Fn' press because they are hidden under volume, brightness etc.
> So, on a Mac, that is more sucky than on Unix or Windows. Sure. There's a system preference to switch to normal.
>
> I'll get a hotmilk and a walk now. Need to calm down. "Functions keys do suck" What ?!
>
> Phil
>
>
> >>
> >>
> >> Stef
> >>
> >> Le 17/4/16 18:00, Ben Coman a écrit :
> >>
> >>> Interesting. A search turned up... Quick Tip Debugger Shortcut Key Reference
> >>> http://www.mularien.com/blog/category/eclipse/
> >>>
> >>> cheers -ben
> >>>
> >>> On Sun, Apr 17, 2016 at 11:15 PM, philippe.back(a)highoctane.be
> >>> <philippe.back(a)gmail.com> wrote:
> >>>>
> >>>> Most of the world IDE use function keys for debugging.
> >>>>
> >>>> Additional benefit: easier for newcomers to use it.
> >>>>
> >>>> Having the buttons on the top is a pain as the code pane is at the bottom
> >>>> and requires travels all the time.
> >>>>
> >>>> Phil
> >>>>
> >>>> On Apr 17, 2016 4:57 PM, "Peter Uhnák" <i.uhnak(a)gmail.com> wrote:
> >>>>>
> >>>>> Well, I've added a startup script for myself... but it would be nice to
> >>>>> have it everywhere by default in some variant...
> >>>>>
> >>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>>> StartupPreferencesLoader default executeAtomicItems: {
> >>>>> StartupAction
> >>>>> name: 'Change debugger labels & shortcuts'
> >>>>> code: [
> >>>>> GLMMorphicActionRenderer compile: (
> >>>>> (GLMMorphicActionRenderer>>#render:) sourceCode
> >>>>> copyReplaceAll: 'setBalloonText: (anAction title'
> >>>>> with: 'setBalloonText: (anAction title asString'
> >>>>> ).
> >>>>> RestartDebugAction compile: 'defaultKeyText
> >>>>> ^ ''R'''.
> >>>>> RestartDebugAction compile: 'defaultLabel
> >>>>> ^ ''Restart'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> ResumeDebugAction compile: 'defaultKeyText
> >>>>> ^ ''P'''.
> >>>>> ResumeDebugAction compile: 'defaultLabel
> >>>>> ^ ''Proceed'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> StepIntoDebugAction compile: 'defaultKeyText
> >>>>> ^ ''I'''.
> >>>>> StepIntoDebugAction compile: 'defaultLabel
> >>>>> ^ ''Into'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> StepOverDebugAction compile: 'defaultLabel
> >>>>> ^ ''Over'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> StepThroughDebugAction compile: 'defaultLabel
> >>>>> ^ ''Through'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
> >>>>> ]
> >>>>> runOnce: true.
> >>>>> }
> >>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Sat, Apr 16, 2016 at 11:39 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
> >>>>>>>
> >>>>>>> Letâs turn this energy into something positive. Please propose a
> >>>>>>> concrete set of default keybindings that you think would work better. In
> >>>>>>> this process, please take into account all keybindings that are already
> >>>>>>> defined in the code editor (it might not be so easy as it appears).
> >>>>>>
> >>>>>>
> >>>>>> As I've said:
> >>>>>>
> >>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux btw)
> >>>>>> 2. can we use the default shortcuts pattern where one of the letters is
> >>>>>> underlined?
> >>>>>>
> >>>>>> as for the shortcuts themselves, problem is proceed, restart & into
> >>>>>>
> >>>>>> proceed: ctrl+shift+p is not taken, so I don't see why it has shortcut
> >>>>>> confusing with restart
> >>>>>> restart: ctrl+shift+r indents, but I'd argue that uniformity is more
> >>>>>> important here... indent is just convenience
> >>>>>> into: ctrl+shift+i is taken (I've never used it, but it maybe it's
> >>>>>> important), but we can still use ctrl+shift+n and underline n (point 2)
> >>>>>>
> >>>>>> If points 1 & 2 are implemented, then the letter is not as important,
> >>>>>> although first letter is always preferable.
> >>>>>>
> >>>>>> Peter
> >>>>>>
> >>>>>>> Cheers,
> >>>>>>> Doru
> >>>>>>>
> >>>>>>>
> >>>>>>>> On Apr 16, 2016, at 8:37 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> Hi,
> >>>>>>>>
> >>>>>>>> I'm getting fed-up with GTDebugger shortcuts since they are completely
> >>>>>>>> random.
> >>>>>>>>
> >>>>>>>> Can we have them more meaningful and/or somehow visible?
> >>>>>>>>
> >>>>>>>> For now I ended up overriding the labels so I can at least see them...
> >>>>>>>> but doing this is also stupid, because I still have to look at them since I
> >>>>>>>> cannot remember random shortcuts.
> >>>>>>>>
> >>>>>>>> <debugger.png>
> >>>>>>>>
> >>>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
> >>>>>>>> btw)
> >>>>>>>> 2. can we use the default shortcuts pattern where one of the letters
> >>>>>>>> is underlined?
> >>>>>>>>
> >>>>>>>> Peter
> >>>>>>>
> >>>>>>> --
> >>>>>>> www.tudorgirba.com
> >>>>>>> www.feenk.com
> >>>>>>>
> >>>>>>> "Value is always contextual."
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>
> >>
> >>
> >
> >
> >
> > --
> > _,,,^..^,,,_
> > best, Eliot
April 19, 2016
Re: [Pharo-dev] [Pharo-users] GTDebugger shortcuts usability
by phil@highoctane.be
On Tue, Apr 19, 2016 at 8:38 PM, Eliot Miranda <eliot.miranda(a)gmail.com>
wrote:
>
>
> On Tue, Apr 19, 2016 at 6:52 AM, stepharo <stepharo(a)free.fr> wrote:
>
>> This F keys suck!
>>
>
> +1. How do you remember which F key does what in the Debugger? F10 - fix
> my code to be a perfect 10??
>
With a little tooltip shown when hovering buttons. The same way we get a
clue about other shortcuts. Alt-O-P opening Monticello. How do I know that
one? By looking. How do you remember? By doing it repeatedly.
I am speaking about the fact that we use super non standard debugging
shortcuts.
Remembering is another thing. Pharo makes it unnecessary hard. See other
mail.
Phil
>
>
>> Stef
>>
>> Le 17/4/16 18:00, Ben Coman a écrit :
>>
>> Interesting. A search turned up... Quick Tip Debugger Shortcut Key
>>> Reference
>>> http://www.mularien.com/blog/category/eclipse/
>>>
>>> cheers -ben
>>>
>>> On Sun, Apr 17, 2016 at 11:15 PM, philippe.back(a)highoctane.be
>>> <philippe.back(a)gmail.com> wrote:
>>>
>>>> Most of the world IDE use function keys for debugging.
>>>>
>>>> Additional benefit: easier for newcomers to use it.
>>>>
>>>> Having the buttons on the top is a pain as the code pane is at the
>>>> bottom
>>>> and requires travels all the time.
>>>>
>>>> Phil
>>>>
>>>> On Apr 17, 2016 4:57 PM, "Peter Uhnák" <i.uhnak(a)gmail.com> wrote:
>>>>
>>>>> Well, I've added a startup script for myself... but it would be nice to
>>>>> have it everywhere by default in some variant...
>>>>>
>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>> StartupPreferencesLoader default executeAtomicItems: {
>>>>> StartupAction
>>>>> name: 'Change debugger labels & shortcuts'
>>>>> code: [
>>>>> GLMMorphicActionRenderer compile: (
>>>>> (GLMMorphicActionRenderer>>#render:) sourceCode
>>>>> copyReplaceAll: 'setBalloonText: (anAction title'
>>>>> with: 'setBalloonText: (anAction title asString'
>>>>> ).
>>>>> RestartDebugAction compile: 'defaultKeyText
>>>>> ^ ''R'''.
>>>>> RestartDebugAction compile: 'defaultLabel
>>>>> ^ ''Restart'' asText addAttribute: TextEmphasis underlined from: 1 to:
>>>>> 1'.
>>>>> ResumeDebugAction compile: 'defaultKeyText
>>>>> ^ ''P'''.
>>>>> ResumeDebugAction compile: 'defaultLabel
>>>>> ^ ''Proceed'' asText addAttribute: TextEmphasis underlined from: 1 to:
>>>>> 1'.
>>>>> StepIntoDebugAction compile: 'defaultKeyText
>>>>> ^ ''I'''.
>>>>> StepIntoDebugAction compile: 'defaultLabel
>>>>> ^ ''Into'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>>> StepOverDebugAction compile: 'defaultLabel
>>>>> ^ ''Over'' asText addAttribute: TextEmphasis underlined from: 1 to: 1'.
>>>>> StepThroughDebugAction compile: 'defaultLabel
>>>>> ^ ''Through'' asText addAttribute: TextEmphasis underlined from: 1 to:
>>>>> 1'.
>>>>> ]
>>>>> runOnce: true.
>>>>> }
>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Apr 16, 2016 at 11:39 PM, Peter Uhnák <i.uhnak(a)gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Letâs turn this energy into something positive. Please propose a
>>>>>>> concrete set of default keybindings that you think would work
>>>>>>> better. In
>>>>>>> this process, please take into account all keybindings that are
>>>>>>> already
>>>>>>> defined in the code editor (it might not be so easy as it appears).
>>>>>>>
>>>>>>
>>>>>> As I've said:
>>>>>>
>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
>>>>>> btw)
>>>>>> 2. can we use the default shortcuts pattern where one of the letters
>>>>>> is
>>>>>> underlined?
>>>>>>
>>>>>> as for the shortcuts themselves, problem is proceed, restart & into
>>>>>>
>>>>>> proceed: ctrl+shift+p is not taken, so I don't see why it has shortcut
>>>>>> confusing with restart
>>>>>> restart: ctrl+shift+r indents, but I'd argue that uniformity is more
>>>>>> important here... indent is just convenience
>>>>>> into: ctrl+shift+i is taken (I've never used it, but it maybe it's
>>>>>> important), but we can still use ctrl+shift+n and underline n (point
>>>>>> 2)
>>>>>>
>>>>>> If points 1 & 2 are implemented, then the letter is not as important,
>>>>>> although first letter is always preferable.
>>>>>>
>>>>>> Peter
>>>>>>
>>>>>> Cheers,
>>>>>>> Doru
>>>>>>>
>>>>>>>
>>>>>>> On Apr 16, 2016, at 8:37 PM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'm getting fed-up with GTDebugger shortcuts since they are
>>>>>>>> completely
>>>>>>>> random.
>>>>>>>>
>>>>>>>> Can we have them more meaningful and/or somehow visible?
>>>>>>>>
>>>>>>>> For now I ended up overriding the labels so I can at least see
>>>>>>>> them...
>>>>>>>> but doing this is also stupid, because I still have to look at them
>>>>>>>> since I
>>>>>>>> cannot remember random shortcuts.
>>>>>>>>
>>>>>>>> <debugger.png>
>>>>>>>>
>>>>>>>> 1. can we unify the shift vs ctrl+shift nonsense? (I'm using linux
>>>>>>>> btw)
>>>>>>>> 2. can we use the default shortcuts pattern where one of the letters
>>>>>>>> is underlined?
>>>>>>>>
>>>>>>>> Peter
>>>>>>>>
>>>>>>> --
>>>>>>> www.tudorgirba.com
>>>>>>> www.feenk.com
>>>>>>>
>>>>>>> "Value is always contextual."
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>
>>
>>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
April 19, 2016