Step by Step debugging and Etoys

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Step by Step debugging and Etoys

Steve Thomas
So the argument I have heard as to why Etoys does not have a single Step Debugging like Scratch seem to go along the lines of "If we step one script, the whole world waits".

I have two responses to this:
  1. So?
  2. Should we let the search for an elegant solution (that a few developers will see and appreciate) prevent us from providing a tool that can positively impact many children?
So on "So?":
So what if the whole world stops? 
Yes, I know and can think of some cases where this will impact the ability to debug certain issues, but my guess is these are a small minority of cases and I do not see any negative consequences (other than the single step debugging is not ideal in these few cases, but it would still be better than no single step debugger).

A solution versus an elegant solution:
Another way to solve this problem (which I will assume others have thought of, so I am probably missing something) is to do something similar to what Bert did in his Squeakland presentation where you "roll your own tiles" and place them in special holders (like "do together" or "do one at a time").  When you click on "debug" or some other similar script icon, a new "special script" is instantiated that has a copy of each tile, but it operates one "step" at a time, doing the step during its cycle.  This would allow the whole world to continue to run and provide single step execution of tiles (or copies of those tiles inside a special scriptor, that runs one tile at a time.).

The one addition I would make to the approach above is along the line's of the one in Scott's recent talk.  Where you add an icon (the exclamation point in a yellow circle) to allow the user to execute one tile at a time in any order/timing they want.

Another possibility would be to allow the user to "toggle" the visibility of a yellow exclamation point for each tile, this would be to allow kids to display the "fire tile" icon and just click through one at a time, which would also allow single step debugging (versus run at a slow pace, and frankly I prefer kids click each time, as it forces them to slow down and think.  When doing "Test" tiles not sure if you should highlight "Yes" or "No" or just skip to the first tile in that section.  I lean toward the former.

Stephen



_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: Step by Step debugging and Etoys

Bert Freudenberg

On 10.11.2011, at 23:04, Steve Thomas wrote:

So the argument I have heard as to why Etoys does not have a single Step Debugging like Scratch seem to go along the lines of "If we step one script, the whole world waits".

I have two responses to this:
  1. So?
  2. Should we let the search for an elegant solution (that a few developers will see and appreciate) prevent us from providing a tool that can positively impact many children?
So on "So?":
So what if the whole world stops? 

You couldn't even press the "next step" button because the world would be literally stopped. And you wouldn't see what's going on since the world would not be repainted. That's what "stopping the world" means.

Yes, I know and can think of some cases where this will impact the ability to debug certain issues, but my guess is these are a small minority of cases and I do not see any negative consequences (other than the single step debugging is not ideal in these few cases, but it would still be better than no single step debugger).

A solution versus an elegant solution:
Another way to solve this problem (which I will assume others have thought of, so I am probably missing something) is to do something similar to what Bert did in his Squeakland presentation where you "roll your own tiles" and place them in special holders (like "do together" or "do one at a time").  When you click on "debug" or some other similar script icon, a new "special script" is instantiated that has a copy of each tile, but it operates one "step" at a time, doing the step during its cycle.  This would allow the whole world to continue to run and provide single step execution of tiles (or copies of those tiles inside a special scriptor, that runs one tile at a time.).

Yes, that is a solution we discussed, and think is optimal. The script would be "interpreted", each message "performed" individually, rather than executed as a compiled method.

It's just ASMOP ;)

- Bert -

The one addition I would make to the approach above is along the line's of the one in Scott's recent talk.  Where you add an icon (the exclamation point in a yellow circle) to allow the user to execute one tile at a time in any order/timing they want.

Another possibility would be to allow the user to "toggle" the visibility of a yellow exclamation point for each tile, this would be to allow kids to display the "fire tile" icon and just click through one at a time, which would also allow single step debugging (versus run at a slow pace, and frankly I prefer kids click each time, as it forces them to slow down and think.  When doing "Test" tiles not sure if you should highlight "Yes" or "No" or just skip to the first tile in that section.  I lean toward the former.

Stephen



_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: Step by Step debugging and Etoys

Karl Ramberg
In reply to this post by Steve Thomas
On Thu, Nov 10, 2011 at 11:04 PM, Steve Thomas <[hidden email]> wrote:

> So the argument I have heard as to why Etoys does not have a single Step
> Debugging like Scratch seem to go along the lines of "If we step one script,
> the whole world waits".
> I have two responses to this:
>
> So?
> Should we let the search for an elegant solution (that a few developers will
> see and appreciate) prevent us from providing a tool that can positively
> impact many children?
>
> So on "So?":
> So what if the whole world stops?
> Yes, I know and can think of some cases where this will impact the ability
> to debug certain issues, but my guess is these are a small minority of cases
> and I do not see any negative consequences (other than the single step
> debugging is not ideal in these few cases, but it would still be better than
> no single step debugger).
> A solution versus an elegant solution:
> Another way to solve this problem (which I will assume others have thought
> of, so I am probably missing something) is to do something similar to what
> Bert did in his Squeakland presentation where you "roll your own tiles" and
> place them in special holders (like "do together" or "do one at a time").
>  When you click on "debug" or some other similar script icon, a new "special
> script" is instantiated that has a copy of each tile, but it operates one
> "step" at a time, doing the step during its cycle.  This would allow the
> whole world to continue to run and provide single step execution of tiles
> (or copies of those tiles inside a special scriptor, that runs one tile at a
> time.).
> The one addition I would make to the approach above is along the line's of
> the one in Scott's recent talk.  Where you add an icon (the exclamation
> point in a yellow circle) to allow the user to execute one tile at a time in
> any order/timing they want.
> Another possibility would be to allow the user to "toggle" the visibility of
> a yellow exclamation point for each tile, this would be to allow kids to
> display the "fire tile" icon and just click through one at a time, which
> would also allow single step debugging (versus run at a slow pace, and
> frankly I prefer kids click each time, as it forces them to slow down and
> think.  When doing "Test" tiles not sure if you should highlight "Yes" or
> "No" or just skip to the first tile in that section.  I lean toward the
> former.
> Stephen

Great to see that video. Very cool features that I think will move
Etoys much further is ease of scripting.
Also good for debugging. A way transition between the single step mode
and the full Etoys scriptor would be nice.

Karl
_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: Step by Step debugging and Etoys

Steve Thomas
In reply to this post by Bert Freudenberg


On Thu, Nov 10, 2011 at 7:04 PM, Bert Freudenberg <[hidden email]> wrote:
You couldn't even press the "next step" button because the world would be literally stopped. And you wouldn't see what's going on since the world would not be repainted. That's what "stopping the world" means.
Ah, well that would be problematic :)  Thought it was similar to putting a self halt. in a script and stepping, which does repaint on forward and turn.
 
Yes, that is a solution we discussed, and think is optimal. The script would be "interpreted", each message "performed" individually, rather than executed as a compiled method.

It's just ASMOP ;)
Funny, I have the same answer for developing a new web site, now if I could only find the time ;)

Thanks,
Stephen 

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: Step by Step debugging and Etoys

Bert Freudenberg
(removing the education-team list from CC because that always bounces for me as a non-member)

On 11.11.2011, at 01:38, Steve Thomas wrote:

> On Thu, Nov 10, 2011 at 7:04 PM, Bert Freudenberg <[hidden email]> wrote:
>> You couldn't even press the "next step" button because the world would be literally stopped. And you wouldn't see what's going on since the world would not be repainted. That's what "stopping the world" means.
> Ah, well that would be problematic :)  Thought it was similar to putting a self halt. in a script and stepping, which does repaint on forward and turn.

Well, yes, I was kind-of overly dramatic to make my point. The thing is, to make this simple, the world would indeed have to be stopped as I wrote. As soon as we let the world continue to run, affairs get way less predictable. Using the debugger is a delicate affair, it works just fine most of the time, but you have to develop an intuition of how far you can take things there that will still work. And "most of the time" is not good enough for Etoys users.

Besides, once we have the infrastructure in place to be able to highlight tiles in a script sequentially (as would be needed for single-stepping regardless of the underlying mechanism) then it is only a small step to actually "perform" the action of the current tile. And that's precisely our "second option", which avoids all the traps of process juggling trickery the regular debugger has to do (*)

>> Yes, that is a solution we discussed, and think is optimal. The script would be "interpreted", each message "performed" individually, rather than executed as a compiled method.
>>
>> It's just ASMOP ;)
> Funny, I have the same answer for developing a new web site, now if I could only find the time ;)
>
> Thanks,
> Stephen

Exactly. But I am very happy to see Scott exploring that direction :)

- Bert -

(*) It is somewhat mind-boggling to me how interrupting the UI process, doing a few single-steps, and then proceeding could possibly work. I can explain it, yes, how the current UI process gets paused, a new UI process spawned to run the debugger, then when proceeding the new one is killed and the old one resumed, but still. If that is not mind-boggling to you, you may not have understood the problem deeply enough yet. Or you have reached enlightenment already ;)
_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: Step by Step debugging and Etoys

Ricardo Moran
Hi,

I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.

Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.

Cheers,
Richo

On Fri, Nov 11, 2011 at 8:51 AM, Bert Freudenberg <[hidden email]> wrote:
(removing the education-team list from CC because that always bounces for me as a non-member)

On 11.11.2011, at 01:38, Steve Thomas wrote:

> On Thu, Nov 10, 2011 at 7:04 PM, Bert Freudenberg <[hidden email]> wrote:
>> You couldn't even press the "next step" button because the world would be literally stopped. And you wouldn't see what's going on since the world would not be repainted. That's what "stopping the world" means.
> Ah, well that would be problematic :)  Thought it was similar to putting a self halt. in a script and stepping, which does repaint on forward and turn.

Well, yes, I was kind-of overly dramatic to make my point. The thing is, to make this simple, the world would indeed have to be stopped as I wrote. As soon as we let the world continue to run, affairs get way less predictable. Using the debugger is a delicate affair, it works just fine most of the time, but you have to develop an intuition of how far you can take things there that will still work. And "most of the time" is not good enough for Etoys users.

Besides, once we have the infrastructure in place to be able to highlight tiles in a script sequentially (as would be needed for single-stepping regardless of the underlying mechanism) then it is only a small step to actually "perform" the action of the current tile. And that's precisely our "second option", which avoids all the traps of process juggling trickery the regular debugger has to do (*)

>> Yes, that is a solution we discussed, and think is optimal. The script would be "interpreted", each message "performed" individually, rather than executed as a compiled method.
>>
>> It's just ASMOP ;)
> Funny, I have the same answer for developing a new web site, now if I could only find the time ;)
>
> Thanks,
> Stephen

Exactly. But I am very happy to see Scott exploring that direction :)

- Bert -

(*) It is somewhat mind-boggling to me how interrupting the UI process, doing a few single-steps, and then proceeding could possibly work. I can explain it, yes, how the current UI process gets paused, a new UI process spawned to run the debugger, then when proceeding the new one is killed and the old one resumed, but still. If that is not mind-boggling to you, you may not have understood the problem deeply enough yet. Or you have reached enlightenment already ;)
_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev

StepOverExample.002.pr (56K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Step by Step debugging and Etoys

Steve Thomas
Go Richo, Go Richo, Go Richo :)


On Sat, Nov 12, 2011 at 3:33 PM, Ricardo Moran <[hidden email]> wrote:
Hi,

I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.

Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.

Cheers,
Richo


On Fri, Nov 11, 2011 at 8:51 AM, Bert Freudenberg <[hidden email]> wrote:
(removing the education-team list from CC because that always bounces for me as a non-member)

On 11.11.2011, at 01:38, Steve Thomas wrote:

> On Thu, Nov 10, 2011 at 7:04 PM, Bert Freudenberg <[hidden email]> wrote:
>> You couldn't even press the "next step" button because the world would be literally stopped. And you wouldn't see what's going on since the world would not be repainted. That's what "stopping the world" means.
> Ah, well that would be problematic :)  Thought it was similar to putting a self halt. in a script and stepping, which does repaint on forward and turn.

Well, yes, I was kind-of overly dramatic to make my point. The thing is, to make this simple, the world would indeed have to be stopped as I wrote. As soon as we let the world continue to run, affairs get way less predictable. Using the debugger is a delicate affair, it works just fine most of the time, but you have to develop an intuition of how far you can take things there that will still work. And "most of the time" is not good enough for Etoys users.

Besides, once we have the infrastructure in place to be able to highlight tiles in a script sequentially (as would be needed for single-stepping regardless of the underlying mechanism) then it is only a small step to actually "perform" the action of the current tile. And that's precisely our "second option", which avoids all the traps of process juggling trickery the regular debugger has to do (*)

>> Yes, that is a solution we discussed, and think is optimal. The script would be "interpreted", each message "performed" individually, rather than executed as a compiled method.
>>
>> It's just ASMOP ;)
> Funny, I have the same answer for developing a new web site, now if I could only find the time ;)
>
> Thanks,
> Stephen

Exactly. But I am very happy to see Scott exploring that direction :)

- Bert -

(*) It is somewhat mind-boggling to me how interrupting the UI process, doing a few single-steps, and then proceeding could possibly work. I can explain it, yes, how the current UI process gets paused, a new UI process spawned to run the debugger, then when proceeding the new one is killed and the old one resumed, but still. If that is not mind-boggling to you, you may not have understood the problem deeply enough yet. Or you have reached enlightenment already ;)
_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev



_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Scott Wallace
In reply to this post by Ricardo Moran
Yay, Richo!  Outstanding!

  -- Scott


On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:

> Hi,
>
> I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
>
> Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
>
> Cheers,
> Richo

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Karl Ramberg
This is really nice, Richo.
So very useful. We must add this to the image :-)
Maybe enhance the look of the red button a little.

Karl

On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
Yay, Richo!  Outstanding!

 -- Scott


On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:

> Hi,
>
> I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
>
> Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
>
> Cheers,
> Richo

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Ricardo Moran
This version works with the repeat tile, and I replaced the red button with the "next page" button from books. It's more intention revealing, don't you think? :)

Although it seems to work fine, I think the code should be examined before inclusion because I have the feeling the code is too complex for what it does and I'm not sure how to improve it...
To make it easy for review, I put all the code in a package called "Etoys-Debugger" (except for the code adding the button to the row editor). I don't mean we should upload them as separate packages but it might help to review the code.

Thanks!

Richo

On Mon, Nov 14, 2011 at 4:15 AM, karl ramberg <[hidden email]> wrote:
This is really nice, Richo.
So very useful. We must add this to the image :-)
Maybe enhance the look of the red button a little.

Karl


On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
Yay, Richo!  Outstanding!

 -- Scott


On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:

> Hi,
>
> I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
>
> Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
>
> Cheers,
> Richo

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev



_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev

StepOverExample.003.pr (56K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Karl Ramberg
Hi 
I think this code looks quite nice and I think it does what it should.
I can't see how it could be much simpler either.
Others chime in here.

I made a drawing of a bug that maybe could be used as the debug button. 

Karl

On Mon, Nov 14, 2011 at 9:21 PM, Ricardo Moran <[hidden email]> wrote:
This version works with the repeat tile, and I replaced the red button with the "next page" button from books. It's more intention revealing, don't you think? :)

Although it seems to work fine, I think the code should be examined before inclusion because I have the feeling the code is too complex for what it does and I'm not sure how to improve it...
To make it easy for review, I put all the code in a package called "Etoys-Debugger" (except for the code adding the button to the row editor). I don't mean we should upload them as separate packages but it might help to review the code.

Thanks!

Richo


On Mon, Nov 14, 2011 at 4:15 AM, karl ramberg <[hidden email]> wrote:
This is really nice, Richo.
So very useful. We must add this to the image :-)
Maybe enhance the look of the red button a little.

Karl


On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
Yay, Richo!  Outstanding!

 -- Scott


On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:

> Hi,
>
> I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
>
> Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
>
> Cheers,
> Richo

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev




_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev

bug2.GIF (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Scott Wallace
I've also read the code and consider it quite well done -- certainly as good as the code base to which it pertains.

I've not done any serious stress-testing of the code, but I wouldn't worry about its being "too complex for what it does."

Cheers,

  -- Scott

On Nov 15, 2011, at 2:34 PM, karl ramberg wrote:

> Hi
> I think this code looks quite nice and I think it does what it should.
> I can't see how it could be much simpler either.
> Others chime in here.
>
> I made a drawing of a bug that maybe could be used as the debug button.
>
> Karl
>
> On Mon, Nov 14, 2011 at 9:21 PM, Ricardo Moran <[hidden email]> wrote:
> This version works with the repeat tile, and I replaced the red button with the "next page" button from books. It's more intention revealing, don't you think? :)
>
> Although it seems to work fine, I think the code should be examined before inclusion because I have the feeling the code is too complex for what it does and I'm not sure how to improve it...
> To make it easy for review, I put all the code in a package called "Etoys-Debugger" (except for the code adding the button to the row editor). I don't mean we should upload them as separate packages but it might help to review the code.
>
> Thanks!
>
> Richo
>
>
> On Mon, Nov 14, 2011 at 4:15 AM, karl ramberg <[hidden email]> wrote:
> This is really nice, Richo.
> So very useful. We must add this to the image :-)
> Maybe enhance the look of the red button a little.
>
> Karl
>
>
> On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
> Yay, Richo!  Outstanding!
>
>  -- Scott
>
>
> On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:
>
> > Hi,
> >
> > I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
> >
> > Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
> >
> > Cheers,
> > Richo
>
> _______________________________________________
> etoys-dev mailing list
> [hidden email]
> http://lists.squeakland.org/mailman/listinfo/etoys-dev
>
>
> _______________________________________________
> etoys-dev mailing list
> [hidden email]
> http://lists.squeakland.org/mailman/listinfo/etoys-dev
>
>
>
> <bug2.GIF>_______________________________________________
> etoys-dev mailing list
> [hidden email]
> http://lists.squeakland.org/mailman/listinfo/etoys-dev

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Karl Ramberg
In reply to this post by Karl Ramberg
One issue or maybe feature I found with the TimesRepeatTile is that the Try button does not reset the timesToRepeat property.
So the debug button jumps into the TimesRepeatTile and you press the Try button, the debug button will hi-light the same tile you left before clicking the Try button.

Karl

On Tue, Nov 15, 2011 at 11:34 PM, karl ramberg <[hidden email]> wrote:
Hi 
I think this code looks quite nice and I think it does what it should.
I can't see how it could be much simpler either.
Others chime in here.

I made a drawing of a bug that maybe could be used as the debug button. 

Karl

On Mon, Nov 14, 2011 at 9:21 PM, Ricardo Moran <[hidden email]> wrote:
This version works with the repeat tile, and I replaced the red button with the "next page" button from books. It's more intention revealing, don't you think? :)

Although it seems to work fine, I think the code should be examined before inclusion because I have the feeling the code is too complex for what it does and I'm not sure how to improve it...
To make it easy for review, I put all the code in a package called "Etoys-Debugger" (except for the code adding the button to the row editor). I don't mean we should upload them as separate packages but it might help to review the code.

Thanks!

Richo


On Mon, Nov 14, 2011 at 4:15 AM, karl ramberg <[hidden email]> wrote:
This is really nice, Richo.
So very useful. We must add this to the image :-)
Maybe enhance the look of the red button a little.

Karl


On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
Yay, Richo!  Outstanding!

 -- Scott


On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:

> Hi,
>
> I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
>
> Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
>
> Cheers,
> Richo

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev





_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Ricardo Moran
In reply to this post by Scott Wallace
Thanks for reviewing the code, guys :)

I was afraid of the code quality specially because this is a part of the system I don't get, but if you think it's ok then it's ok for me too.

Cheers,
Richo

On Tue, Nov 15, 2011 at 7:57 PM, Scott Wallace <[hidden email]> wrote:
I've also read the code and consider it quite well done -- certainly as good as the code base to which it pertains.

I've not done any serious stress-testing of the code, but I wouldn't worry about its being "too complex for what it does."

Cheers,

 -- Scott

On Nov 15, 2011, at 2:34 PM, karl ramberg wrote:

> Hi
> I think this code looks quite nice and I think it does what it should.
> I can't see how it could be much simpler either.
> Others chime in here.
>
> I made a drawing of a bug that maybe could be used as the debug button.
>
> Karl
>
> On Mon, Nov 14, 2011 at 9:21 PM, Ricardo Moran <[hidden email]> wrote:
> This version works with the repeat tile, and I replaced the red button with the "next page" button from books. It's more intention revealing, don't you think? :)
>
> Although it seems to work fine, I think the code should be examined before inclusion because I have the feeling the code is too complex for what it does and I'm not sure how to improve it...
> To make it easy for review, I put all the code in a package called "Etoys-Debugger" (except for the code adding the button to the row editor). I don't mean we should upload them as separate packages but it might help to review the code.
>
> Thanks!
>
> Richo
>
>
> On Mon, Nov 14, 2011 at 4:15 AM, karl ramberg <[hidden email]> wrote:
> This is really nice, Richo.
> So very useful. We must add this to the image :-)
> Maybe enhance the look of the red button a little.
>
> Karl
>
>
> On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
> Yay, Richo!  Outstanding!
>
>  -- Scott
>
>
> On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:
>
> > Hi,
> >
> > I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
> >
> > Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
> >
> > Cheers,
> > Richo
>
> _______________________________________________
> etoys-dev mailing list
> [hidden email]
> http://lists.squeakland.org/mailman/listinfo/etoys-dev
>
>
> _______________________________________________
> etoys-dev mailing list
> [hidden email]
> http://lists.squeakland.org/mailman/listinfo/etoys-dev
>
>
>
> <bug2.GIF>_______________________________________________


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Ricardo Moran
In reply to this post by Karl Ramberg
Yes, you're right. One thing I was thinking was to move the "timesToRepeat" property from the TimesRepeatTile to the EtoysDebugger, and when hiting the try button or the tick clock, reinitialize the EtoysDebugger altogether.

Also, maybe it would be a good idea to leave the visual feedback instead of deleting after a short while, what do you think?

Cheers,
Richo

On Tue, Nov 15, 2011 at 8:00 PM, karl ramberg <[hidden email]> wrote:
One issue or maybe feature I found with the TimesRepeatTile is that the Try button does not reset the timesToRepeat property.
So the debug button jumps into the TimesRepeatTile and you press the Try button, the debug button will hi-light the same tile you left before clicking the Try button.

Karl


On Tue, Nov 15, 2011 at 11:34 PM, karl ramberg <[hidden email]> wrote:
Hi 
I think this code looks quite nice and I think it does what it should.
I can't see how it could be much simpler either.
Others chime in here.

I made a drawing of a bug that maybe could be used as the debug button. 

Karl

On Mon, Nov 14, 2011 at 9:21 PM, Ricardo Moran <[hidden email]> wrote:
This version works with the repeat tile, and I replaced the red button with the "next page" button from books. It's more intention revealing, don't you think? :)

Although it seems to work fine, I think the code should be examined before inclusion because I have the feeling the code is too complex for what it does and I'm not sure how to improve it...
To make it easy for review, I put all the code in a package called "Etoys-Debugger" (except for the code adding the button to the row editor). I don't mean we should upload them as separate packages but it might help to review the code.

Thanks!

Richo


On Mon, Nov 14, 2011 at 4:15 AM, karl ramberg <[hidden email]> wrote:
This is really nice, Richo.
So very useful. We must add this to the image :-)
Maybe enhance the look of the red button a little.

Karl


On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
Yay, Richo!  Outstanding!

 -- Scott


On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:

> Hi,
>
> I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
>
> Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
>
> Cheers,
> Richo

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev






_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Steve Thomas
On Tue, Nov 15, 2011 at 7:12 PM, Ricardo Moran <[hidden email]> wrote:
Also, maybe it would be a good idea to leave the visual feedback instead of deleting after a short while, what do you think?
Agreed,  Leave the feedback until next you click next, it gives a visual clue as to where you are in the script and reminds you what just happened on the screen.
 

Cheers,
Richo


On Tue, Nov 15, 2011 at 8:00 PM, karl ramberg <[hidden email]> wrote:
One issue or maybe feature I found with the TimesRepeatTile is that the Try button does not reset the timesToRepeat property.
So the debug button jumps into the TimesRepeatTile and you press the Try button, the debug button will hi-light the same tile you left before clicking the Try button.

Karl


On Tue, Nov 15, 2011 at 11:34 PM, karl ramberg <[hidden email]> wrote:
Hi 
I think this code looks quite nice and I think it does what it should.
I can't see how it could be much simpler either.
Others chime in here.

I made a drawing of a bug that maybe could be used as the debug button. 

Karl

On Mon, Nov 14, 2011 at 9:21 PM, Ricardo Moran <[hidden email]> wrote:
This version works with the repeat tile, and I replaced the red button with the "next page" button from books. It's more intention revealing, don't you think? :)

Although it seems to work fine, I think the code should be examined before inclusion because I have the feeling the code is too complex for what it does and I'm not sure how to improve it...
To make it easy for review, I put all the code in a package called "Etoys-Debugger" (except for the code adding the button to the row editor). I don't mean we should upload them as separate packages but it might help to review the code.

Thanks!

Richo


On Mon, Nov 14, 2011 at 4:15 AM, karl ramberg <[hidden email]> wrote:
This is really nice, Richo.
So very useful. We must add this to the image :-)
Maybe enhance the look of the red button a little.

Karl


On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
Yay, Richo!  Outstanding!

 -- Scott


On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:

> Hi,
>
> I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
>
> Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
>
> Cheers,
> Richo

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev






_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev



_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Karl Ramberg
In reply to this post by Ricardo Moran


On Wed, Nov 16, 2011 at 1:12 AM, Ricardo Moran <[hidden email]> wrote:
Yes, you're right. One thing I was thinking was to move the "timesToRepeat" property from the TimesRepeatTile to the EtoysDebugger, and when hiting the try button or the tick clock, reinitialize the EtoysDebugger altogether.

This sounds right. Once you press other buttons the debugger should be reinitialized.
 

Also, maybe it would be a good idea to leave the visual feedback instead of deleting after a short while, what do you think?¨
 
I think this could be tested.

Karl 

On Tue, Nov 15, 2011 at 8:00 PM, karl ramberg <[hidden email]> wrote:
One issue or maybe feature I found with the TimesRepeatTile is that the Try button does not reset the timesToRepeat property.
So the debug button jumps into the TimesRepeatTile and you press the Try button, the debug button will hi-light the same tile you left before clicking the Try button.

Karl


On Tue, Nov 15, 2011 at 11:34 PM, karl ramberg <[hidden email]> wrote:
Hi 
I think this code looks quite nice and I think it does what it should.
I can't see how it could be much simpler either.
Others chime in here.

I made a drawing of a bug that maybe could be used as the debug button. 

Karl

On Mon, Nov 14, 2011 at 9:21 PM, Ricardo Moran <[hidden email]> wrote:
This version works with the repeat tile, and I replaced the red button with the "next page" button from books. It's more intention revealing, don't you think? :)

Although it seems to work fine, I think the code should be examined before inclusion because I have the feeling the code is too complex for what it does and I'm not sure how to improve it...
To make it easy for review, I put all the code in a package called "Etoys-Debugger" (except for the code adding the button to the row editor). I don't mean we should upload them as separate packages but it might help to review the code.

Thanks!

Richo


On Mon, Nov 14, 2011 at 4:15 AM, karl ramberg <[hidden email]> wrote:
This is really nice, Richo.
So very useful. We must add this to the image :-)
Maybe enhance the look of the red button a little.

Karl


On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
Yay, Richo!  Outstanding!

 -- Scott


On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:

> Hi,
>
> I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
>
> Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
>
> Cheers,
> Richo

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev







_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev
Reply | Threaded
Open this post in threaded view
|

Re: [squeakland] Step by Step debugging and Etoys

Ricardo Moran
Hi,

I attached a new version of the step button. This one uses Karl's bug picture, it resets the etoys debugger, and it keeps the visual feedback.

A few remarks, though:
* I modified PhraseTileMorph>>#try to use the top editor's player when possible. I don't think it could be dangerous, but I'm not sure so I thought you should know...
* I had to make a HighlightMorph class to make the rectangle follow the highlighted tile. While writing this I realized a lot of Etoys mechanisms could be made much simpler if we make all morphs trigger events whenever one of its properties change. This way we could avoid a lot of stepping morphs (for instance, all the Updating___Morphs). What do you think?

Cheers,
Richo

P.S. I borrowed the "salmon sniff" project for the example... I'm not feeling very creative today :)

On Wed, Nov 16, 2011 at 7:23 AM, karl ramberg <[hidden email]> wrote:


On Wed, Nov 16, 2011 at 1:12 AM, Ricardo Moran <[hidden email]> wrote:
Yes, you're right. One thing I was thinking was to move the "timesToRepeat" property from the TimesRepeatTile to the EtoysDebugger, and when hiting the try button or the tick clock, reinitialize the EtoysDebugger altogether.

This sounds right. Once you press other buttons the debugger should be reinitialized.
 

Also, maybe it would be a good idea to leave the visual feedback instead of deleting after a short while, what do you think?¨
 
I think this could be tested.

Karl 

On Tue, Nov 15, 2011 at 8:00 PM, karl ramberg <[hidden email]> wrote:
One issue or maybe feature I found with the TimesRepeatTile is that the Try button does not reset the timesToRepeat property.
So the debug button jumps into the TimesRepeatTile and you press the Try button, the debug button will hi-light the same tile you left before clicking the Try button.

Karl


On Tue, Nov 15, 2011 at 11:34 PM, karl ramberg <[hidden email]> wrote:
Hi 
I think this code looks quite nice and I think it does what it should.
I can't see how it could be much simpler either.
Others chime in here.

I made a drawing of a bug that maybe could be used as the debug button. 

Karl

On Mon, Nov 14, 2011 at 9:21 PM, Ricardo Moran <[hidden email]> wrote:
This version works with the repeat tile, and I replaced the red button with the "next page" button from books. It's more intention revealing, don't you think? :)

Although it seems to work fine, I think the code should be examined before inclusion because I have the feeling the code is too complex for what it does and I'm not sure how to improve it...
To make it easy for review, I put all the code in a package called "Etoys-Debugger" (except for the code adding the button to the row editor). I don't mean we should upload them as separate packages but it might help to review the code.

Thanks!

Richo


On Mon, Nov 14, 2011 at 4:15 AM, karl ramberg <[hidden email]> wrote:
This is really nice, Richo.
So very useful. We must add this to the image :-)
Maybe enhance the look of the red button a little.

Karl


On Mon, Nov 14, 2011 at 5:39 AM, Scott Wallace <[hidden email]> wrote:
Yay, Richo!  Outstanding!

 -- Scott


On Nov 12, 2011, at 12:33 PM, Ricardo Moran wrote:

> Hi,
>
> I've added a simple "step over" button in the script editor. I attached a project to demonstrate. For now, it's an ugly red circle because I don't have a nice image, but it should work as expected.
>
> Limitation: it doesn't work with the repeat tile yet. And it could probably be coded more nicely.
>
> Cheers,
> Richo

_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev


_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev








_______________________________________________
etoys-dev mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/etoys-dev

StepOverExample2.001.pr (108K) Download Attachment