This is a read-only archive of the old Scratch 1.x Forums.
Try searching the current Scratch discussion forums.

#6226 2012-11-21 12:35:15

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

xly wrote:

I wonder if this would not be an issue linked to Chrome bufferization?

There is a known issue in Chrome about saving projects with lots of costumes.  The problem, says Jens, has to do with overflowing some size limit when serializing.  My tree project, with only two costumes, ends up at about 57K characters when serialized, most of which is the picture on the stage.  That would explain why you can save it after deleting the picture.  Maybe the limit is smaller in Windows than in MacOS?

@nXIII:  The picture on the stage is always either the same image as a background or else the result of a series of vector (i.e. MOVE) commands, or maybe the latter superimposed on the former.  Can/should we take advantage of that to avoid creating a separate bitmap for what's on the stage?

(Jens says this whole problem will go away when his server is ready.)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6227 2012-11-21 14:44:53

joefarebrother
Scratcher
Registered: 2011-04-08
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Could you use a compression algorithm for long urls?

Last edited by joefarebrother (2012-11-21 14:45:13)


My latest project is called http://tinyurl.com/d2m8hne! It has http://tinyurl.com/d395ygk views, http://tinyurl.com/cnasmt7 love-its, and http://tinyurl.com/bwjy8xs comments.
http://tinyurl.com/756anbk   http://tinyurl.com/iplaychess

Offline

 

#6228 2012-11-21 15:40:40

MathWizz
Scratcher
Registered: 2009-08-31
Posts: 1000+

Re: BYOB 3 - Discussion Thread

That's what I was thinking. Gzip maybe?


http://block.site90.net/scratch.mit/text.php?size=30&text=%20A%20signature!&color=333333

Offline

 

#6229 2012-11-21 16:30:00

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

joefarebrother wrote:

Could you use a compression algorithm for long urls?

I wouldn't want to compress the (relatively tiny) human-readable XML part.  It's the embedded media (eg costumes) that should be compressed, individually.  But aren't PNGs already compressed?


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6230 2012-11-21 16:34:58

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

MathWizz wrote:

I had to look up "FTW," which meant something very different in my day.  But without having seen the beginning of the conversation, I can't tell if your sig is meant sarcastically or not.  Especially since it didn't appear until after the election.  hmm


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6231 2012-11-21 16:38:09

henley
Scratcher
Registered: 2008-06-21
Posts: 1000+

Re: BYOB 3 - Discussion Thread

It also confuses me.

Although, FTW could always mean "For The Win", which is what I was taught it meant.


"I've worked so hard for you and you give me nothing in return. Do you need help... Or do I?"

Offline

 

#6232 2012-11-21 17:42:11

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

henley wrote:

Although, FTW could always mean "For The Win", which is what I was taught it meant.

I'm assuming that's what it does mean, but that still doesn't settle whether it's meant sarcastically.  (Although on second thought, given that the election is over, and there's no way the Republicans will nominate Romney again, I guess it has to be.)

I understand the six-years-no-repeat part, but why the two presidents?  Is NAFTA, for example, domestic or foreign policy?

EDIT:  Nobody is going to understand this conversation after you two change your sigs.  tongue

Last edited by bharvey (2012-11-21 17:44:45)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6233 2012-11-21 18:16:50

xly
Scratcher
Registered: 2010-04-17
Posts: 100+

Re: BYOB 3 - Discussion Thread

@bharvey & Jens

If I consider the size of my "hundred" byob (ypr extension) projects, the size 98% of them is under 3 000 000 b, the size of a "standard" digital picture of today.
One project can be much larger if it includes media files like audio mp3 for example.
Is the size of a Snap! project very different from its equivalent Byob ? (I shall check that) ?
We could have projects with large data files (3d volumes coordinates for example) which stay embedded inside the Snap! project code.. In such situation the size of the project can be very large.


Question 3 : Including large media files (audio or video) should not prevent saving of a Snap!

Offline

 

#6234 2012-11-21 18:26:08

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

xly wrote:

Is the size of a Snap! project very different from its equivalent Byob?

They should be comparable.  I'm not sure how efficiently each format compresses media files, but we should do a good job of that.

Question 3 : Including large media files (audio or video) should not prevent saving of a Snap!

That's not a question.  smile

Right, Jens says he's going to invent a format that allows saving the media separately.  Especially if you're using library costumes (e.g., Alonzo!) there's no reason to save that in your project.

All of this saving business is working around the limitations of localstore.  Once we have the server going, life will be perfect.  Well, closer anyway.


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6235 2012-11-21 19:50:02

MathWizz
Scratcher
Registered: 2009-08-31
Posts: 1000+

Re: BYOB 3 - Discussion Thread

@about my sig - I put that there before the election, but since I have been using custom CSS with these forums, I haven't seen a signature for a few months now. I forgot I had one.  tongue


http://block.site90.net/scratch.mit/text.php?size=30&text=%20A%20signature!&color=333333

Offline

 

#6236 2012-11-21 20:09:07

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

MathWizz wrote:

@about my sig - I put that there before the election, but since I have been using custom CSS with these forums, I haven't seen a signature for a few months now. I forgot I had one.  tongue

Ah, so it isn't meant sarcastically?  Pity.   tongue   (<- meant with the utmost of respect and politeness, of course!)

EDIT:  Wait, I swear I've seen posts by you since the election but with a different sig.  Am I getting senile?

Last edited by bharvey (2012-11-21 20:10:40)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6237 2012-11-21 23:30:48

kiwi29
New Scratcher
Registered: 2012-11-21
Posts: 5

Re: BYOB 3 - Discussion Thread

hello snap dragons

I have been admiring Snap recently, and would be fascinated to hear any comments on the following

1. Is Snap more like...

a) A scheme-ish interpreter/evaluator implemented on top of javascript.
or
b) A translator of scheme-ish constructs to javascript?

2.  I suspect that old-fashioned text coding is very like black and white photography (has its strengths but why would you bother these days unless you were an artist or a wanna-be artist) but...

Do snap cognoscenti secretly whip up blocks in some secret text based syntax  -just to save their mouse-hands of course. I was wondering what such a language might look like (esp cw scheme) if it existed or if you imagine it.  [I note the instructions on scratchblocks below where I am typing  -would it simply be like that??]

any comments appreciated

-kiwi29 

Dad, code-artist-wannabe, occasional lay-teacher


BTW: Just a comment: The BYOB 3 tutorials work pretty well as audio only (for me anyway). Its fun to listen to Brian's careful intonation  -you can almost see the parenthesis :-)

Offline

 

#6238 2012-11-22 01:45:54

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

kiwi29 wrote:

1. Is Snap more like...

a) A scheme-ish interpreter/evaluator implemented on top of javascript.
or
b) A translator of scheme-ish constructs to javascript?

It's (a), although we're thinking about (b) later, for efficiency -- but as with most compilers, the resulting JS code won't look anything like what a human JS programmer would write.  (Mostly just procedure calls!)

2.  I suspect that old-fashioned text coding is very like black and white photography (has its strengths but why would you bother these days unless you were an artist or a wanna-be artist) but...

Do snap cognoscenti secretly whip up blocks in some secret text based syntax  -just to save their mouse-hands of course. I was wondering what such a language might look like (esp cw scheme) if it existed or if you imagine it.  [I note the instructions on scratchblocks below where I am typing  -would it simply be like that??]

You'll get different answers from me and from Jens.  He's a tremendous blocks enthusiast, to the point that in BYOB he built a block notation for (the underlying) Smalltalk.  I think that blocks are an amazingly brilliant idea for introducing people (not just kids) to programming, and I think that a beautiful software artifact such as treemap is even more beautiful in block form than in Scheme, but for serious programming I find text programming way faster and easier, partly because emacs can expand abbreviations for procedure names faster than I can switch between palettes, and even more because text is searchable!  And blocks are just more bulky on the screen than text.

But by "text programming" I mean in a text-based language, not in some secret keyboard version of Snap!.

But also, I still remember, when BYOB3 was young, showing an experienced Scratcher a list of blocks and getting an instant gasp; she just got it without any explanation.  You can't do that in text.

BTW: Just a comment: The BYOB 3 tutorials work pretty well as audio only (for me anyway). Its fun to listen to Brian's careful intonation  -you can almost see the parenthesis :-)

Thanks!  But, oh yeah, that reminds me, you can get your computer to read text out loud, and you can learn to be able to type text without seeing the keyboard, but I don't have a clue where to begin making blocks programming accessible to blind people.

Last edited by bharvey (2012-11-22 01:47:48)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6239 2012-11-22 02:41:57

xly
Scratcher
Registered: 2010-04-17
Posts: 100+

Re: BYOB 3 - Discussion Thread

@bharvey says "Right, Jens says he's going to invent a format that allows saving the media separately"
I was just going to mention the example of Processing language where media file are stored separetely in one "data" directory.

Offline

 

#6240 2012-11-22 02:56:24

jji7skyline
Scratcher
Registered: 2010-03-08
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Where is the make list button?


I don't know why you say goodbye, I say hello!  big_smile

Offline

 

#6241 2012-11-22 03:00:29

xly
Scratcher
Registered: 2010-04-17
Posts: 100+

Re: BYOB 3 - Discussion Thread

@bharvey & kiwi29
The beauty of drag-and-drop is that you get rid of typing errors. When writing one Processing program for example , I spend most of my time to correct typing errors (brackets, parenthesis, double commas etc). With Byob/Snap! you get rid of typing errors programs, variable types and/or compiler blocking and throwing insane error message. Programming with Snap! is like a charm. You need just to concentrate on "logical" aspects of your application. Put altogether I'm not sure that programming a complex application with the drag-and-drop paradigm takes a longer time than with "hand-typed" languages.
The disadvantages of Snap! for the time being is that it is not YET opened to external Javascript libraries, and then we will have to go typing again.
Snap! audience aimed at is probably not the experimented high level programmer typing as quickly as he speaks.

Offline

 

#6242 2012-11-22 03:10:18

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

jji7skyline wrote:

Where is the make list button?

Gone!  Use "make a variable" and assign it a list value.


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6243 2012-11-22 03:13:40

jji7skyline
Scratcher
Registered: 2010-03-08
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

jji7skyline wrote:

Where is the make list button?

Gone!  Use "make a variable" and assign it a list value.

So variables act a lists? Could you please explain how this would work?


I don't know why you say goodbye, I say hello!  big_smile

Offline

 

#6244 2012-11-22 07:13:16

blob8108
Scratcher
Registered: 2007-06-25
Posts: 1000+

Re: BYOB 3 - Discussion Thread

jji7skyline wrote:

bharvey wrote:

jji7skyline wrote:

Where is the make list button?

Gone!  Use "make a variable" and assign it a list value.

So variables act a lists? Could you please explain how this would work?

Something like this, I believe:

set [my list v] to <list [apples] [pears] [oranges]>
add [thing] to (my list)
delete (1 v) of (my list)
insert [thing] at (1 v) of (my list)
replace item (1 v) of (my list) with [some other thing]
[source]


EDIT: this is rather interesting...  tongue

add (my list) to (my list)

Last edited by blob8108 (2012-11-22 07:15:29)


Things I've made: kurt | scratchblocks2 | this cake

Offline

 

#6245 2012-11-22 10:36:35

joefarebrother
Scratcher
Registered: 2011-04-08
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Maybe you could make a "scheme -> snap!" compiler? There could be an "import scheme code" button that automatically defines blocks from scheme code. Maybe even "export to scheme" so you could use it with other scheme applications?


My latest project is called http://tinyurl.com/d2m8hne! It has http://tinyurl.com/d395ygk views, http://tinyurl.com/cnasmt7 love-its, and http://tinyurl.com/bwjy8xs comments.
http://tinyurl.com/756anbk   http://tinyurl.com/iplaychess

Offline

 

#6246 2012-11-22 13:48:39

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

blob8108 wrote:

EDIT: this is rather interesting...  tongue

add (my list) to (my list)

Circular lists work perfectly well:

http://snap.berkeley.edu/circular.png

... provided you have the variable watcher checkbox unchecked.  (@Jens: This should work!  It should look like the serialization for saving.)

Circular lists are, in fact, sometimes really useful.  Example:  In writing a Scheme (or Snap!) interpreter, you need a data structure called an environment that keeps track of variables in the current scope.  The value of a variable can be a custom block (made with lambda, say).  But the block itself is a data structure that remembers not only the text of the block but also the environment in which it was created (so that it has access to the local variables of the enclosing block).  This is a circularity: the environment points to the block, and the block points to the environment.


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6247 2012-11-22 14:05:40

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

joefarebrother wrote:

Maybe you could make a "scheme -> snap!" compiler? There could be an "import scheme code" button that automatically defines blocks from scheme code. Maybe even "export to scheme" so you could use it with other scheme applications?

In one sense, the translation would be trivial.  Although the surface notations are different, the internal representation of a Scheme program is basically the same as the internal representation of a Snap! program.  And it would work pretty straightforwardly as long as you restrict yourself to writing reporters that don't lean on the user interface much.

But a practical Snap! program does rely heavily on the Morphic infrastructure.  And a practical Scheme program is likely to use text interaction (more than the one-liner ASK AND WAIT), or macros, or data files, or something that isn't part of the Snap! runtime environment.  So it would be more a pedagogic tool than a practical feature.

But, hey, at least we have call⁄cc!  tongue


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#6248 2012-11-22 15:16:41

blob8108
Scratcher
Registered: 2007-06-25
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

blob8108 wrote:

EDIT: this is rather interesting...  tongue

add (my list) to (my list)

Circular lists work perfectly well:

http://snap.berkeley.edu/circular.png

... provided you have the variable watcher checkbox unchecked.

Yes, that was my mistake.  tongue  Can't the watcher somehow detect the recursion and, uh, not recurse?


Things I've made: kurt | scratchblocks2 | this cake

Offline

 

#6249 2012-11-22 15:18:30

blob8108
Scratcher
Registered: 2007-06-25
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

joefarebrother wrote:

Maybe you could make a "scheme -> snap!" compiler? There could be an "import scheme code" button that automatically defines blocks from scheme code. Maybe even "export to scheme" so you could use it with other scheme applications?

In one sense, the translation would be trivial...

You could have a text representation as discussed above — perhaps something more like the scratchblocks syntax? It would be nice to be able to switch between the two, perhaps. (People have asked for this at least for Scratch many times, I know...)


Things I've made: kurt | scratchblocks2 | this cake

Offline

 

#6250 2012-11-22 15:54:55

DigiTechs
Scratcher
Registered: 2011-04-30
Posts: 500+

Re: BYOB 3 - Discussion Thread

What happens when you click share->share this sprite when Stage is selected?

I think I crashed my BYOB while doing it.. AGH?


I'm back.
Maybe.

Offline

 

Board footer