Page 1 of 4

A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 6:05 am
by timrowledge
You're an exciting, wild sort, willing to take risks for high powered pleasures. You walk rapidly with scissors, you hurtle down stairs two at a time, you don't even check your Starbucks is cool enough to drink before your first sip. You're bad.

You need more oomph from your Scratch. You don't mind if it blows up occasionally because it has semi-sentient packets of code ripped from the bowels of crashed starships that once glittered near the Tannhauser gates. You want it. Now.

OK, so here's the thing; it's dangerous. It may ruin your life. It will certainly not do everything you expect and some UI parts are quite frankly irritating right now. You really don't want to try uploading projects to a public repository yet, though most that you download will work ok. Ish.

If you're so cool you could store a side of beef in yourself, so hip you have trouble seeing over your pelvis, so utterly fearless you don't even bother with peril-sensitive sunglasses - then you're the one. Try downloading
http://www.raspberrypi.org/NuScratch.tgz

[[LIZ BUTTS IN: I've just uploaded the file to a machine at Pi Towers and changed this link so it points at our servers rather than Dropbox, which should make everyone's lives a bit easier! Back to Tim's scheduled service:]]

If your router stops whimpering, try untar-ing it with

Code: Select all

`tar -xzvf NuScratch.tgz`
wait…
wait...
then -

Code: Select all

./bin/squeak NScratch-rtel1.image
Good luck. You'll need it. Let us know how it goes; work is proceeding rapidly on making it better.
Just remember to never, ever... oh, no, not that! Please No! <carrier wave lost> <Links to subetha net lost>

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 7:43 am
by simplesi
I found that afer un-tarring

Code: Select all

cd NuScratch
./NuScratch.sh
is whats needed to get it running

Which it does :)

Simon

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 7:52 am
by simplesi
And locked up within 5 mins :)

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 9:38 am
by jamesh
But was it faster or better in any way?

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 1:05 pm
by simplesi
No - not that I noticed - its very alpha :)
YOu can't drag and drop for instance

Simon

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 5:13 pm
by timrowledge
Oh, but you can drag drop - click on the tile as usual and drag it to the script editor and then release the mouse button and click again. Something is not qute right in the event handling yet.

I've been able to build scripts ok, though there can be odd display clipping. They run, too!

Try opening some projects. Asteroids does rather well for me, but that event handling fairly often locks you into a spiral. Try pressing the cursor key again so that the release gets logged.

And don't forget that this is a full development squeak image, so all the wonderful Smalltalk world is there to enjoy.
[edited - click the mouse, not clock it. ]

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 6:25 pm
by simplesi
One major problem as far as testing goes - I don't seem able to actually open up a project :(

I can navigate to any folder but it doesn't list any .sb files within the folder :(

Simon

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 6:48 pm
by timrowledge
Hmm. Works ok on my machine.

You see the mac-like menubar across the top of the window - the one with the Squeak mouse logo? Under 'Tools', right at the bottom you'll see 'File List'. Open one and see if you can find the directory you were expecting to find sb files in. If they're not visible in the FileList then there is something funny going on, probably to do with permissions or phases of the moons of Saturn or whatever. I see sb files ok in both the Scratch file open and FileList, matching the X FileManager exactly.

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 6:55 pm
by simplesi
That file list thingy shows the files
https://www.dropbox.com/s/9m5lo1jk5bff3 ... .52.58.jpg

but they don't show in the Project Open
https://www.dropbox.com/s/m0et1xir5hdwk ... .54.23.jpg

Simon

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 8:07 pm
by ghp
Hello,

I did not do a systematic test, but here are some findings:

start up: ok
language setting: fail (wrong utf8)
sounds (play drum): fail (no sound) sound: /dev/dsp: No such file or directory
move (ok)
pen move and draw (ok)
drag and drop (works but not perfect)
snap a block into a forever control (disppears, fail. When starting the loop, there happens something, so the content is there, but hidden)
mouse rightclick in script (lots of fancy round bullets, but no context menu)

resize stage is working, fullscreen is not working
reading existing project (ok)
project preview in open dialog (fail)
painting a few stamps on screen in a loop (1.4, 14 sec; NScratch: 8 sec; nice !)
Size of costumes is displayed wrong.

base load 25%, old scratch 15% (not so nice)
movements are much faster. cant measure exactly, 2 to three times better. Impressive.

"Disappearing bananas", bananas are loading, but background is not alpha, but white.
jpeg background (room 3) is loading.

Performance looks good !

Greetings, Gerhard

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 8:38 pm
by timrowledge
Erk. That isn't the Scratch file open dialogue. That's a plain ol'Squeak file-selecting-menu - which is, by the way, a truly crappy bit of UI that really needs to be expunged. The only way I can get to that is to click in the not-Scratch area to the right, get the 'World' menu, click on 'open...' and then 'file..' - which is a complicated sequence to hit accidentally. Ooh, you might have noticed that in the World menu about 2/3rd of the way down there is 'make screenshot', which I had forgotten about and so used my iPhone to make the below image. I think I'll try to keep screenshot in the system to help with bug reporting.

The normal Scratch File->Open...-> 'Open Project' dialogue looks as usual -
NScratchProjectOpen.jpg
NScratchProjectOpen.jpg (45.81 KiB) Viewed 11712 times
...and as bhp mentions, fails to load the preview.

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 8:49 pm
by timrowledge
ghp wrote:language setting: fail (wrong utf8)
Yup; lots of work to do for i18n, not least of which is rendering non-Latin fonts correctly.
ghp wrote:sounds (play drum): fail (no sound) sound: /dev/dsp: No such file or directory
This is actually an ALSA/MIDI issue. None of the MIDI standard instruments seem to work in the ALSA stuff provided. A Mac, for example, does it right.
ghp wrote:drag and drop (works but not perfect)
This is the first thing I'm working on this week.
ghp wrote:snap a block into a forever control (disppears, fail. When starting the loop, there happens something, so the content is there, but hidden)
Yup. Some odd clipping related mistake I think.
ghp wrote:mouse rightclick in script (lots of fancy round bullets, but no context menu)
Yup. t'will be fixed.
ghp wrote:resize stage is working, fullscreen is not working
Yup; the ScratchPlugin that supports this is not yet reworked.
ghp wrote:project preview in open dialog (fail)
True.
ghp wrote:painting a few stamps on screen in a loop (1.4, 14 sec; NScratch: 8 sec; nice !)
That's about what I'd hope. Roughly speaking, this should be ~50% faster overall, though graphics heavy stuff will be much less affected. It's preparatory work for a 'Cog' vm which *should* be about 5x faster. Don't hold your breath though. Blue is a terrible colour for a human face.
ghp wrote:Size of costumes is displayed wrong.
Hmph.
ghp wrote:base load 25%, old scratch 15% (not so nice)
Odd. I've typically seen near-100% idle on the old system and ~20 new.
ghp wrote:movements are much faster. cant measure exactly, 2 to three times better. Impressive.
Cool. My favourite test is Asteroid Blaster. I see 30+ fps now. I actually can't play it that fast...but I'm old.
ghp wrote:"Disappearing bananas", bananas are loading, but background is not alpha, but white.
Curious.

Thanks for feedback. Keep it coming.

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 13, 2014 9:25 pm
by simplesi
:)
The Scratch menu was hidden behind some Squeak stuff so I just used that menu at the top :)
https://www.dropbox.com/s/ns27ry0jn6n1l ... .21.11.jpg

Loading OK now :)

Simon

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Tue Jan 14, 2014 6:09 am
by ghp
Good morning,

created a project on RPi, moved this to windows and did not read in correctly.
error.png
error.png (11.02 KiB) Viewed 11507 times
Wanted to check the remote connections, but can't enable the connections (right click on sensing, variables does not work).

Greetings,
Gerhard

edit: added the scratch projekt.
xxx.zip
RPi generated scratch projekt, fails on windows-scratcjh (1.4)
(40.7 KiB) Downloaded 547 times
unpack please

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Tue Jan 14, 2014 9:14 am
by eben
Hi Gerhard
Could you please share the file you created, so Tim can do some debugging?

Thanks
Eben

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Tue Jan 14, 2014 9:20 am
by meltwater
As requested also posted here (saw request after!):

+1 Small screen support. (I've not tried the beta so sorry if covered)

I know this can be a total pain to code, but would be very useful to allow the use of scratch in a lower-resolution portable setup.
The usual issue with low resolution screens is that the dialogues end up too large for the screen and Apply/Cancel are off screen. Making them resizable may not look nice, but makes it possible to use.


Looking forward to new Scratch, was concerned by the Web based version that it was moving in the wrong direction away from RPi.

Great work!

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Tue Jan 14, 2014 9:40 am
by jamesh
meltwater wrote:As requested also posted here (saw request after!):

+1 Small screen support. (I've not tried the beta so sorry if covered)

I know this can be a total pain to code, but would be very useful to allow the use of scratch in a lower-resolution portable setup.
The usual issue with low resolution screens is that the dialogues end up too large for the screen and Apply/Cancel are off screen. Making them resizable may not look nice, but makes it possible to use.


Looking forward to new Scratch, was concerned by the Web based version that it was moving in the wrong direction away from RPi.

Great work!
I think the flash based web app is/was moving in the wrong direction for everyone, not just Raspi!

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Tue Jan 14, 2014 10:21 am
by simplesi
Cool. My favourite test is Asteroid Blaster. I see 30+ fps now.
Its not the fps that counts :)

I'm not seeing a lot of real-world diff between normal and NScratch on AB
maybe 1.5 vs 1.6 secs for missile to reach corner in medium window mode
https://vine.co/v/hL6nDrnn9Fi


CPU Idle load seems quite similar
https://vine.co/v/hL65jBgnXEe

Simon

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Tue Jan 14, 2014 11:45 am
by ghp
eben wrote: Could you please share the file you created, so Tim can do some debugging?
Eben
I have added the file to my post.
Btw: extension 'sb' is not allowed for the forum, is there a chance to allow this ?

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Tue Jan 14, 2014 6:52 pm
by timrowledge
ghp wrote:created a project on RPi, moved this to windows and did not read in correctly.
I'm fairly certain this is a bug I fixed in 'mainstream scratch' just before the solstice; it simply hasn't made it into nuscratch yet. I'll double check, of course.

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Thu Jan 16, 2014 4:08 pm
by CarlGundel
This is very exciting! Thanks for all your hard work on this Tim.

Is the Cog VM actually in the pipeline? That would be fantastic!

-Carl

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Fri Jan 17, 2014 2:27 am
by timrowledge
Hey Carl! Nice to 'see' you here. So how about a version of LibertyBasic for Pi? Err, I am remembering correctly - you did the LB stuff in Squeak, right?

Anyway, yes, the idea is to get this system running nicely on the stackVM and then do a CogVM for Pi. If history is a decent guide, that ought to speed up most execution by around 5-10 x over the old image on the old VM. Which really ought to make Scratch pretty damn good on a Pi. Not to mention making Squeak a Thoroughly Good Thing on a Pi.

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Fri Jan 17, 2014 2:30 am
by timrowledge
timrowledge wrote:
ghp wrote:drag and drop (works but not perfect)
This is the first thing I'm working on this week.
Today's news; I seem to have fixed the worst of the drag problem. Lots of checking still to do, but promising.

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 20, 2014 12:46 pm
by neuwirthe
Question: Has the maintainer looked at BYOB (byob.berkeley.edu)?
This is a modified version of scratch which allows to define your own block. I think educationally this is very important because being able to name your own blocks makes programs much more readable, especially when connecting with physical devices.
read light on
is easier to read than
analog 5 255
Source code is available, and it builds on top of Scratch, so perhaps oall is needed is to port the RPi changes for Scratch to BYOB.
I do not know Smalltalk, therefore I cannot do it myself.
BTW: the latest release of BYOB is Javascript based, but BYOB 3.1 is SmallTalk, so that could be used as the starting point.

Re: A new Scratch; pre-alpha-this-will-hurt release

Posted: Mon Jan 20, 2014 1:08 pm
by simplesi
See http://www.raspberrypi.org/forum/viewto ... ilit=+BYOB thread for discussion on it :)

Simon