Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » Snap! user discussion
- DrKat123
- Scratcher
1000+ posts
Snap! user discussion
Can Snap! Or BYOB open Scratch projects (1.4 projects to be specific)
Moving from Scratch? Don't learn C or Java, try Snap!
it haz OOP
DrKat McKatFace
First of all I'm 100% human and humans does not have a cat face
and second, the Boaty McBoatFace/Parsey McParseFace madness has just begun
λ
Sharp, my new Scratch mod
Is my post/siggy worthy for an internet?
- DrKat123
- Scratcher
1000+ posts
Snap! user discussion
Oh yeah, i noticed the Snapin8r2 in the homepage of Snap!BYOB can open 1.4 projects. Scratch 2.0 projects can be translated to Snap Can Snap! Or BYOB open Scratch projects (1.4 projects to be specific)! by Snapin8r2.
Moving from Scratch? Don't learn C or Java, try Snap!
it haz OOP
DrKat McKatFace
First of all I'm 100% human and humans does not have a cat face
and second, the Boaty McBoatFace/Parsey McParseFace madness has just begun
λ
Sharp, my new Scratch mod
Is my post/siggy worthy for an internet?
- djdolphin
- Scratcher
1000+ posts
Snap! user discussion
Oh, wow. I hadn't noticed that the link was added. How long was that there?Oh yeah, i noticed the Snapin8r2 in the homepage of Snap!BYOB can open 1.4 projects. Scratch 2.0 projects can be translated to Snap Can Snap! Or BYOB open Scratch projects (1.4 projects to be specific)! by Snapin8r2.
@bh could you update the link to https://djdolphin.github.io/Snapin8r2/ ? Snapin8r2-test was just for testing, and I don't think it's the latest version.
!
- bharvey
- Scratcher
1000+ posts
Snap! user discussion
https://djdolphin.github.io/Snapin8r2/ ?Done. It's been there for a while now. could you update the link to
- djdolphin
- Scratcher
1000+ posts
Snap! user discussion
Also, here's a screenshot of the Scratch to Snap! logo-thingy with better alignment: http://i.cubeupload.com/1IEmle.png What browser was the current screenshot taken with? I should probably fix whatever caused the “to” to be so low.
!
- bharvey
- Scratcher
1000+ posts
Snap! user discussion
Thanks. I use Firefox, but probably it'll happen in any browser if you set your text zoom to 150%. What browser was the current screenshot taken with? I should probably fix whatever caused the “to” to be so low.
- DrKat123
- Scratcher
1000+ posts
Snap! user discussion
Please don't blockspamsnap!!!!!!!!!!!!!!
Moving from Scratch? Don't learn C or Java, try Snap!
it haz OOP
DrKat McKatFace
First of all I'm 100% human and humans does not have a cat face
and second, the Boaty McBoatFace/Parsey McParseFace madness has just begun
λ
Sharp, my new Scratch mod
Is my post/siggy worthy for an internet?
- bharvey
- Scratcher
1000+ posts
Snap! user discussion
Today’s release is now online, it features many — in part dramatic — changes and new features:
• Use Blob API to Save Files (to Disk), Thanks, Michael!!
You can now save all projects directly to your computer disk, without having to open the XML in another browser tab and then saving it from there. This is today’s most important new feature. We hope it lets everybody save their final projects!
• Show result bubble when the user clicks on a command script that uses REPORT (You can now click on REPORT and it actually does something)
• New generic “When” hat block, enhances red stop button behavior:
this block is always “live”, it runs the script attached to it whenever its test-condition (predicate) is true, and then resumes observing the condition. You can only place predicates here that produce a quick answer, functions that take longer will raise an error.
Pressing the red stop button pauses all generic “When” blocks, pressing “stop” or the “green flag” again resumes them.
• New block (instance) variables feature (experimental):
Sometimes you want to check whether a value has changed. This is easy in the context of a loop, but when using the new generic “When” hat block” it requires another global variable for every script that “observes” the value. This can be abstracted away with the new (and experimental) block-instance-variables, whose scope is the particular block instance. Some more (or less useful :-/) examples:
… a new kind of control structure …
… a new block-based aggregator …
… that can be fun to use in situations like these, to build a counter:
… or an abstract “pass” sensor, instead of the explicit one shown above:
• evaluator performance optimizations
Many “raw” operations have been optimized to evaluate up to 2x faster in WARPed or TURBO mode (also allowing for more threads to run in parallel).
Developers: The generic invoke() function now also takes blocks and rings (contexts), letting you write fast JavaScript quasi-primitives inside Snap:
• Morphic grab-threshold fix for scroll frames
• fixed several block rendering glitches
• List category LENGTH reporter now also works on text
• Changed “any” to “random” (in English only)
• new FILL primitive in the Pen category
• switched to animation frame scheduling, please use TURBO for music
• Updated German translation
• Cloud: 10 MB cloud upload limit for media per project
Note: Projects still can have as much code as you want, but uploading more than 10 MB of media (music, sounds, costumes) per project is no longer allowed. When you try to save such a project to the cloud the following warning shows up:
In this case please remove media or — often better — reduce the resolution of the media. We’ve had problems with large music files, costumes aren’t such and issue.
• Objects, Paint: Automatic Sprite Center Detection, Thanks, Craxic!!
• Morphic: Handling of diacritics, + key in input fields (Windows), Thanks, DaDoro!!
• NL translation update
As usual, please make sure to flush your caches (or simply to reload Snap) until you see v.4.0.4 in the “about” dialog.
Again, you can still access the “old” version in case anything goes wrong: http://snap.berkeley.edu/snapsource/stable/snap.html
Enjoy!
-Jens
• Use Blob API to Save Files (to Disk), Thanks, Michael!!
You can now save all projects directly to your computer disk, without having to open the XML in another browser tab and then saving it from there. This is today’s most important new feature. We hope it lets everybody save their final projects!
• Show result bubble when the user clicks on a command script that uses REPORT (You can now click on REPORT and it actually does something)
• New generic “When” hat block, enhances red stop button behavior:
this block is always “live”, it runs the script attached to it whenever its test-condition (predicate) is true, and then resumes observing the condition. You can only place predicates here that produce a quick answer, functions that take longer will raise an error.
Pressing the red stop button pauses all generic “When” blocks, pressing “stop” or the “green flag” again resumes them.
• New block (instance) variables feature (experimental):
Sometimes you want to check whether a value has changed. This is easy in the context of a loop, but when using the new generic “When” hat block” it requires another global variable for every script that “observes” the value. This can be abstracted away with the new (and experimental) block-instance-variables, whose scope is the particular block instance. Some more (or less useful :-/) examples:
… a new kind of control structure …
… a new block-based aggregator …
… that can be fun to use in situations like these, to build a counter:
… or an abstract “pass” sensor, instead of the explicit one shown above:
• evaluator performance optimizations
Many “raw” operations have been optimized to evaluate up to 2x faster in WARPed or TURBO mode (also allowing for more threads to run in parallel).
Developers: The generic invoke() function now also takes blocks and rings (contexts), letting you write fast JavaScript quasi-primitives inside Snap:
• Morphic grab-threshold fix for scroll frames
• fixed several block rendering glitches
• List category LENGTH reporter now also works on text
• Changed “any” to “random” (in English only)
• new FILL primitive in the Pen category
• switched to animation frame scheduling, please use TURBO for music
• Updated German translation
• Cloud: 10 MB cloud upload limit for media per project
Note: Projects still can have as much code as you want, but uploading more than 10 MB of media (music, sounds, costumes) per project is no longer allowed. When you try to save such a project to the cloud the following warning shows up:
In this case please remove media or — often better — reduce the resolution of the media. We’ve had problems with large music files, costumes aren’t such and issue.
• Objects, Paint: Automatic Sprite Center Detection, Thanks, Craxic!!
• Morphic: Handling of diacritics, + key in input fields (Windows), Thanks, DaDoro!!
• NL translation update
As usual, please make sure to flush your caches (or simply to reload Snap) until you see v.4.0.4 in the “about” dialog.
Again, you can still access the “old” version in case anything goes wrong: http://snap.berkeley.edu/snapsource/stable/snap.html
Enjoy!
-Jens
- bharvey
- Scratcher
1000+ posts
Snap! user discussion
Of course what Jens should have done in his EVERY example is this:
PS Actually I'm not sure why this works, given that the length of the list isn't divisible by 3. Jens?
PPS I mean, why does it work the second time you click it?
PS Actually I'm not sure why this works, given that the length of the list isn't divisible by 3. Jens?
PPS I mean, why does it work the second time you click it?
Last edited by bharvey (Dec. 16, 2015 04:04:35)
- Jonathan50
- Scratcher
1000+ posts
Snap! user discussion
Looks great! Does this mean variables which stay the same during block invocations? Today’s release is now online, it features many — in part dramatic — changes and new features:
-snip-
Enjoy!
-Jens
Not yet a Knight of the Mu Calculus.
- bharvey
- Scratcher
1000+ posts
Snap! user discussion
Yeah I'm still arguing with Jens about the name. It means variables that stay the same Does this mean variables which stay the same during block invocations?across block invocations — local state variables. Like declaring something STATIC in one of those bad programming languages.
P.S. This isn't really a new capability; it's just syntactic sugar for a λ inside a λ, where the visible block is the one created by the inner λ. Before we declare this non-experimental, there will have to be a way to initialize the variable to something other than 0, and preferably a way to share a state variable among several procedures (which is what you want to build your own object system).
Last edited by bharvey (Dec. 16, 2015 04:12:25)
- Hardmath123
- Scratcher
1000+ posts
Snap! user discussion
It “creates” a new <EVERY (3)> the second time you click it, if I understand this correctly. Of course what Jens should have done in his EVERY example is this:
PS Actually I'm not sure why this works, given that the length of the list isn't divisible by 3. Jens?
PPS I mean, why does it work the second time you click it?
(EDIT: to clarify, what I mean is that when it makes a new lambda for KEEP, it instantiates a brand-new EVERY (with its own outer-lambda) so it has a fresh counter.)
I think the distinction between “all EVERY blocks have the same counter” and “every time *this* EVERY block is called it uses the same counter” is a bit confusing. Mainly because I'm not sure I understand 100% what “this EVERY block” really means without mentally decomposing it to lambdas to make sense of it.
Last edited by Hardmath123 (Dec. 16, 2015 04:32:45)
- bharvey
- Scratcher
1000+ posts
Snap! user discussion
Oh. RIght. Jens described it as making a new EVERY as soon as you pull the block out of the palette. But I guess lambdafying it kind of undoes that. when it makes a new lambda for KEEP, it instantiates a brand-new EVERY (with its own outer-lambda) so it has a fresh counter.
Yeah, I find the semantics confusing. This may be one of those things that would be crystal clear if I'd grown up in Smalltalk instead of in Lisp, but I'm not sure.
Feel free to suggest alternatives that will make Jens happy without giving me a headache.
- Hardmath123
- Scratcher
1000+ posts
Snap! user discussion
Is it possible to have upvars that are blocks themselves? Feel free to suggest alternatives that will make Jens happy without giving me a headache.
- DrKat123
- Scratcher
1000+ posts
Snap! user discussion
May i help translate BYOB Snap! to Indonesian? btw i'm working on it
Moving from Scratch? Don't learn C or Java, try Snap!
it haz OOP
DrKat McKatFace
First of all I'm 100% human and humans does not have a cat face
and second, the Boaty McBoatFace/Parsey McParseFace madness has just begun
λ
Sharp, my new Scratch mod
Is my post/siggy worthy for an internet?
- bharvey
- Scratcher
1000+ posts
Snap! user discussion
I'm not sure what you mean. Certainly the value of an upvar can be set to a (lambdafied) block. Is it possible to have upvars that are blocks themselves?
Do you mean that you want the upvar's orange blob to be block-shaped, and maybe have input slots, in the palette?
- bharvey
- Scratcher
1000+ posts
Snap! user discussion
! to Indonesian?Yes of course, that's be great! Just submit a pull request on github adding your translation file. Or email it to Jens if you're > 25 years old and therefore don't understand git. May i help translate Snap
- DrKat123
- Scratcher
1000+ posts
Snap! user discussion
I'll probably do a pull request.! to Indonesian?Yes of course, that's be great! Just submit a pull request on github adding your translation file. Or email it to Jens if you're > 25 years old and therefore don't understand git. May i help translate Snap
Moving from Scratch? Don't learn C or Java, try Snap!
it haz OOP
DrKat McKatFace
First of all I'm 100% human and humans does not have a cat face
and second, the Boaty McBoatFace/Parsey McParseFace madness has just begun
λ
Sharp, my new Scratch mod
Is my post/siggy worthy for an internet?