timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Tue Jun 10, 2014 7:57 pm

Gerhard had mentioned -
"On a script element, rightclick mouse to get the ‘help/duplicate/delete-Popup.
In win-scratch-1.4, the popup appears.
In beta-scratch, in addition to the popup there is a bubble popup ‘Enter text to narrow selection down to matching items’."

This is actually a bit of help provided by the modern menus; you can start typing the name of an entry you are looking for and the menu will update to highlight/de-emphasize entries to help you find the right one. Obviously this is mostly helpful for long menus. Also obviously, there really shouldn't be long menus since they're a very poor UI concept.

So, I could remove the bubble help if it really causes problem but it seems a useful thing to me. Opinions from you folks?
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

ghp
Posts: 1562
Joined: Wed Jun 12, 2013 12:41 pm
Location: Stuttgart Germany
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Tue Jun 10, 2014 8:12 pm

Hello,

you are busy today. I look forward to the new release.

Regards,
Gerhard

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Tue Jun 10, 2014 11:50 pm

Another GHP report -
"drag an operator (keep it simple, take (1+1)) to script area.
When doubleclicking aka executing this operator (without a ‘hat’), the result is displayed in a bubble popup."

Fixed by making the tooltip act as a bubble help morph and thus get removed in the same way. Seems to work quite nicely now.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

ghp
Posts: 1562
Joined: Wed Jun 12, 2013 12:41 pm
Location: Stuttgart Germany
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Wed Jun 11, 2014 7:08 pm

New problems.
Started to write some performance tests, one is the pingpong-event test, sending events around. Performance is 11.0 sec in rpi-1.4-scratch, 8.6 sec in beta. Not bad.

Problem is: switch to presentation mode, run the script. After some 10 secs, the hidden variable t should be displayed. Does not happen here. When switching back to edit mode, the variable appears.

The first time I started the script, the hide-variable block produced an error 'got red color'. But could not reproduce this.

Regards,
Gerhard
Attachments
performance_pingpong.zip
(40 KiB) Downloaded 179 times

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Wed Jun 11, 2014 9:58 pm

ghp wrote:
scissors.png
Fixed! Sneaky one. Moving the lower block upwards after the delete of the C-block was being defeated by the auto-layout code moving it back to where it belonged... clever code, such fun to work with.

A question for you guys, again. The animation of this is really tedious on the Pi. Obviously it will speed up over time but is it really worth even bothering with? On fast machines you see nothing because it goes so quickly. So why bother with it on slow machines?
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Wed Jun 11, 2014 10:07 pm

A word to the enthusiasts here - by now the scratch repository on github ought to be public enough for you to add new issues, see what I've been doing with already reported problems etc. I'm *not* proposing to keep code there since Smalltalk simply doesn't do the dead text in simulated-dead-tree-files thing but the issues reporting and tracking should be useful.

https://github.com/raspberrypi/scratch
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

ghp
Posts: 1562
Joined: Wed Jun 12, 2013 12:41 pm
Location: Stuttgart Germany
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Thu Jun 12, 2014 6:54 pm

scratch repository on github
Cool. Good idea.
Will post new problems there.

Regards,
Gerhard

ghp
Posts: 1562
Joined: Wed Jun 12, 2013 12:41 pm
Location: Stuttgart Germany
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Thu Jun 12, 2014 6:57 pm

Animations: So why bother with it on slow machines
There are two parts in the c-shape scissors tool: deleting the block and moving up the tail. The second part looks similiar to other animations (like droppinng a script on stage and it moves back to script area). The second one, I would not remove. The block rmove, I agree: too fast to notice.

Regards
Gerhard

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Sat Jun 14, 2014 4:27 am

The very slow startup problem? On my Pi it was taking 27secs to process the 50 language files. Now it takes 160mS :-)
It still takes too long to start but a lot less so.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

simplesi
Posts: 2327
Joined: Fri Feb 24, 2012 6:19 pm
Location: Euxton, Lancashire, UK
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Sat Jun 14, 2014 10:47 am

:)
Excellent
Looking forward to seeing next beta :)
Simon
Seeking help with Scratch and I/O stuff for Primary age children
http://cymplecy.wordpress.com/ @cymplecy on twitter

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Tue Jun 17, 2014 5:11 pm

Hmm, squeezed another couple of seconds off the startup time on my Pi. It still takes longer than I'd like but much better. Also managed to make the menu of available languages open near-immediately, rather than taking many seconds. Not a huge usage item but it's very annoying when you accidentally trigger a long running job.

On to other issues as we push towards another beta release.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Tue Jun 17, 2014 7:17 pm

ghp wrote:mport sounds, Music Loops, Eggs gives a MPEG-Error.
mpeg.png
This is very puzzling when you look at it - the loop file 'Eggs' is not an mpeg file of any sort, for eggsample (sorry).
what ha happened here is some mpeg file has been opened and not yet closed explicitly by code and so is being dealt with by the weak object finalisation process - and the primitive to do the close fails for some reason. At first I thought perhaps I was making the VM without the plugin but it is actually there and seems to work ok. The finalisation takes place asynchronously, so the timing is close to random.

So, Gerhard, can you remember what mpeg file you might have loaded before this? Has it happened again? If it does, see if you can find the SqueakDebug.log (or similar) file and add it along with any other thoughts to https://github.com/raspberrypi/scratch/issues/6
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

ghp
Posts: 1562
Joined: Wed Jun 12, 2013 12:41 pm
Location: Stuttgart Germany
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Tue Jun 17, 2014 7:55 pm

Hello, see the github issue list. Seems to happen (not each time) when file is 'previewed' and then in the middle or so you press ok.
Regards,
Gerhard

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Wed Jun 18, 2014 4:39 am

ghp wrote:Hello, see the github issue list. Seems to happen (not each time) when file is 'previewed' and then in the middle or so you press ok.
Nice to see the github stuff is working; I got the email as well as seeing the web copy.

What appears to have been happening is that when you click on a sound file in threfilechooser it starts playing; for most types of sound it simply loads the file and plays it but for mp3s - probably on the assumption they're likely to be big files - it opens a streaming interface and does *not* explicitly close the file. This leaves it for the finaliser and the WeakPointer system to handle. The code looks clean but I'm guessing that on some occasions ... well, whatever, sometime the file closing primitive fails and that upsets the finaliser process as we've seen. I've stopped the error reporting by the primitive for now and we'll keep an ear open for any similar problem in the future.

Thanks, as ever, for the helpful reporting.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Thu Jun 19, 2014 1:51 am

Found a solution to both the 'slider skips to 0' and slider causes error in presentation mode' problems in the same bit of code.
You can probably appreciate the 'fun' involved in debugging event handling code in a live system where said code is involved in running the system that is the debugger (and indeed everything else). It really is like doing heart surgery without stopping the heart.

Except less bloody.

Usually.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

ghp
Posts: 1562
Joined: Wed Jun 12, 2013 12:41 pm
Location: Stuttgart Germany
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Thu Jun 19, 2014 4:38 pm

Inconsistent behavior of how data are sent to remote sensor protocol

As we have talked a little bit about performance here the last days, I have investigated my scratchClient and removed some bottlenecks. When you do things like this, the next question is whether all values are handled correctly. This is the starting point for the following experiments.

You do not need a sophisticated test software to execute the experimennts. A simple "telnet localhost 42001" just displays what is going on, at least the send-to-the-outside part of the story. You need to enable the remote server inside scratch first. Do this by /sensing / rightclick on 'slider' sensor value / enable remote sensor connections. In current scratch, you need to disable this first, then enable. In nuScratch or in windows, just enable. I repeated these things on windows, where I used putty in raw mode for the telnet part.

Be careful in typing in characters into the telnet session. Scratch will try to interpret these for the protocol. After some characters, you receive an squeak error popup. There is no recovery, you need to restart scratch then. Think there is no robust error recovery strategy for the receiver part of the protocol, but this is not the topic here.

Make a global variable 'for all sprites', named 'a'. The name does not matter, but 'a' is simple and short for now.
Run the following script:
repeat.gif
repeat.gif (1.74 KiB) Viewed 2998 times
When a was '0' initially, you receive
sensor-update "a" 1 sensor-update "a" 2 sensor-update "a" 3
This is ok.

Next sample:
multiple_set.gif
multiple_set.gif (1.67 KiB) Viewed 2998 times
The result is
sensor-update "a" 2
Which is not very good. The intermediate separate set-values are ignored. When repeating the execution, there are no more sensor-updates sent out.

Now add wait statement to the script.
multiple_set_wait.gif
multiple_set_wait.gif (2.43 KiB) Viewed 2998 times
Now the result is
sensor-update "a" 0 sensor-update "a" 1 sensor-update "a" 2
This is as expected.

Some change-by-blocks in a sequence do behave even different. The last value is propagated.

(see next post, as max number of files is exceeded)
Last edited by ghp on Thu Jun 19, 2014 5:23 pm, edited 5 times in total.

ghp
Posts: 1562
Joined: Wed Jun 12, 2013 12:41 pm
Location: Stuttgart Germany
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Thu Jun 19, 2014 4:55 pm

(continued from last post)
... three increments in a sequence. This is done to find out if the 'change by' block has special handling.
multiple_inc.gif
multiple_inc.gif (1.82 KiB) Viewed 2984 times
The result is, when executed multiple times
sensor-update "a" 44 sensor-update "a" 47 sensor-update "a" 50 sensor-update "a" 53
So only every third update is propagated.

Last one, embrace "each set a to something" in a while(1)-loop
while.gif
while.gif (2.99 KiB) Viewed 2984 times
This results, as expected, are
sensor-update "a" 66
sensor-update "a" 67
sensor-update "a" 68
sensor-update "a" 69
sensor-update "a" 70
sensor-update "a" 71


Conclusion: sensor protocol sends out multiple updates in a sequence only when control blocks are in between. Multiple update blocks in a sequence seem to get optimized in a strange way, and not consistent for 'set value' and 'change-value'.
This is same behavior in win-1.4-scratch and RPi-1.4-scratch and RPi-1.4-beta.

My original assumption was, that there is a 'previous-value' for each variable, and when a change is detected, then the value is propagated. Current implementations do not work this way.
What are the opinions: should scratch beta correct this behavior to be more consistent ?

Regards, Gerhard

simplesi
Posts: 2327
Joined: Fri Feb 24, 2012 6:19 pm
Location: Euxton, Lancashire, UK
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Thu Jun 19, 2014 9:24 pm

At the moment, I'd recommend sticking with present behaviour because that's what "Scratch" does.

And missing off value can be considered "good" at one level as it reduces unnecessary (most of time) network traffic.

All my projects work fine with this behaviour.

Do you have an example that actually needs the intermediate values?

regards

Simon
Seeking help with Scratch and I/O stuff for Primary age children
http://cymplecy.wordpress.com/ @cymplecy on twitter

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Fri Jun 20, 2014 12:38 am

ghp wrote:Problem is: switch to presentation mode, run the script. After some 10 secs, the hidden variable t should be displayed. Does not happen here. When switching back to edit mode, the variable appears.
Erk. This is very odd. If you have the watcher for 'i' open, then the watcher for t appears as you expect, in presentation mode. Veeerrry odd.
See https://github.com/raspberrypi/scratch/issues/25
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Sat Jun 21, 2014 4:30 am

All being well there should be a new beta for you to play with in the next day or two. I have to work out how to stick the tar ball up on github first.

Quite a few bugs have been fixed and hopefully no new ones added. Most importantly the startup time should be much improved, along with the opening of the language list menu.

One 'new' irritant has arisen and needs looking out for - sometimes (often after a 'project new') the pretty framing of the mouse x/y indicators seems to disappear. Sometimes it comes back. Sometimes it doesn't disappear when it did previously. Sometimes .. just sometimes I hate computers. If anyone spots a good patten I'll be interested to know about it!
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

ghp
Posts: 1562
Joined: Wed Jun 12, 2013 12:41 pm
Location: Stuttgart Germany
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Sat Jun 21, 2014 12:25 pm

the pretty framing of the mouse x/y indicators seems to disappear.
Hello,

at least the 'disappear' can be reproduced. Open new project, and drag 'cat' out of the stage, of course drop it in the right, lower edge so the animated 'run back path' goes through the xy-display. In not all cases, but some one out of five the border gets not redrawn correctly.

Edit 1: Works also for dropping a script block over xy.
Edit 2: It seems to happen more often when it is the path traversing the xy, and not only dropping the item on the center of xy.

Edit 3: Also nice thing: drag 'cat' to script area. Drop it there, and its lost . Same on win-scratch. But in nuscratch, the border on xy is away.


Regards, Gerhard

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Sun Jun 22, 2014 10:20 pm

OK, if I managed to follow the advice from Gordon correctly, there is now a replacement beta release for you all to play with. You should find that by going to -
https://github.com/raspberrypi/scratch
you see a NuScratchBeta5.tgz file. Double-click on it and it ought to download; or I guess you could clone the git-thingy.
Whichever route you take, once you have the tgx file in a new directory, you unpack it with -

Code: Select all

tar xvzf NuScratchBeta5.tgz
and run it with

Code: Select all

./NScratch-b5.sh
The list of problems I've tackled this time can be found at - https://github.com/raspberrypi/scratch/ ... ate=closed

Do please report your problems, issues and ideas for improvements. If at all possible, use the issues facility on the https://github.com/raspberrypi/scratch/issues page and help me track things more effectively.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

simplesi
Posts: 2327
Joined: Fri Feb 24, 2012 6:19 pm
Location: Euxton, Lancashire, UK
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Sun Jun 22, 2014 10:45 pm

I think its ./NuScratchBeta.sh to launch it

Lightneing fast to load :)

Simon
Seeking help with Scratch and I/O stuff for Primary age children
http://cymplecy.wordpress.com/ @cymplecy on twitter

simplesi
Posts: 2327
Joined: Fri Feb 24, 2012 6:19 pm
Location: Euxton, Lancashire, UK
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Sun Jun 22, 2014 11:04 pm

Can't doubleclick to open a folder

Seems to not detect a lot of mouse-clicks (missing at least 1 in 3) which might explain the doubleclick failure above.
(I do all my work remoting in using VNC but not noticed this behaviour with standard Scratch)

Editing is perceptively the same speed as standard Scratch on a PC :)

Still wants to save an empty script before loading new one :)

Simon
Seeking help with Scratch and I/O stuff for Primary age children
http://cymplecy.wordpress.com/ @cymplecy on twitter

timrowledge
Posts: 1354
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: The Beta Strikes Back; NuScratch beta release

Mon Jun 23, 2014 3:25 am

simplesi wrote:I think its ./NuScratchBeta.sh to launch it
Uh, yes. That's what I said. Honest. The fact that the characters you see above look different is merely a result of a timey-wimey reversal of the neutron polarity egienfield.
simplesi wrote:Lightneing fast to load :)
Interesting; I find on my Pi it's still a bit slow, about 6-7 secs. How fast is it on yours? If it really is different I'd be curious as to why.

At least I must have got the uploading right for you to be a ble to test it. This is a good thing; git doesn't yet make any sense at all to me.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

Return to “Scratch”