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

#1401 2010-08-11 17:34:57

Jwosty
Scratcher
Registered: 2009-12-19
Posts: 500+

Re: BYOB 3 - Discussion Thread

ScratchReallyROCKS wrote:

I've got one, it's different than the other ones:

http://img689.imageshack.us/img689/2453/byob.gif

Clever!  wink

Last edited by Jwosty (2010-08-11 17:35:17)


http://i39.tinypic.com/18ert5.png Google it.  smile

Offline

 

#1402 2010-08-11 18:16:33

mooster
Scratcher
Registered: 2008-11-27
Posts: 1000+

Re: BYOB 3 - Discussion Thread

I think panther gave my computer spyware

Offline

 

#1403 2010-08-11 21:36:16

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

Re: BYOB 3 - Discussion Thread

mooster wrote:

I think panther gave my computer spyware

You should be saying this on the Panther thread!  But it'd help if you give them the details of what you did and why you think so.


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

Offline

 

#1404 2010-08-11 23:46:21

fullmoon
Retired Community Moderator
Registered: 2007-06-04
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Sooo, how's the conference going? Maybe I'm just out of it, but I can't seem to find anything about it anywhere!


http://i302.photobucket.com/albums/nn100/fullmoon32/wow.jpg

Offline

 

#1405 2010-08-12 05:10:43

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

Re: BYOB 3 - Discussion Thread

fullmoon wrote:

Sooo, how's the conference going? Maybe I'm just out of it, but I can't seem to find anything about it anywhere!

http://events.scratch.mit.edu/conference/2010/media

The conference hasn't really started yet; yesterday there were preconference workshops.  We didn't attend one; instead we spent most of the day talking with Brian Silverman and John Maloney about just how far along the line of

procedures with no inputs or outputs
procedures with inputs
procedures with inputs and outputs
first class procedures

Scratch 2.0 should go.  (Of course you know what we think!)  The first of those would really be little more than a different syntax for BROADCAST AND WAIT.  The second would allow custom commands but not reporters.  The third would allow more or less all of Make a Block but not lambda.

Brian (the other one) points out, correctly, that in the history of Logo, the predecessor of Scratch, very few kids actually wrote reporters in their projects.  We don't know whether kids found it too hard, or whether they just didn't see any need for them.  And we don't really know whether kids are turned off on the whole enterprise if there are a few pieces they find obscure.  We each had some evidence to support our different views.

Oh, we also had an interesting discussion with John about the generic hat block (the one that just has a hexagonal boolean slot as the condition).  John had implemented that a long time ago but they took it out of Scratch partly because of the problem that a user might write a test that's always true, and then the block would keep running forever.  We came up with an idea about that:  A generic hat block should fire if (1) the condition is true when the green flag is clicked, or (2) the condition was false on the previous clock tick but is true now.  Another idea would be to include an on-off switch in each generic hat block so they could be individually disabled.  What do you (all) think about those ideas?

Today the actual conference sessions start.

Oh, P.S., we put a big pile of BYOB buttons on the registration table and they were all gone two hours later.  smile   But don't worry, we have more for today.


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

Offline

 

#1406 2010-08-12 10:36:47

shadow_7283
Scratcher
Registered: 2007-11-07
Posts: 1000+

Re: BYOB 3 - Discussion Thread

tongue  I wish I lived in Cambridge. So, is the Scratch team still unsure about including first-class procedures? They seem pretty adamant about not having all of BYOB3's features.

The hat block would be kind of cool, but I don't really see how it would function any better than a "forever" and an "if" wrapped around the entire script.

Offline

 

#1407 2010-08-12 10:44:26

Billybob-Mario
Scratcher
Registered: 2008-01-05
Posts: 500+

Re: BYOB 3 - Discussion Thread

What exactly does lambada mean?

Offline

 

#1408 2010-08-12 11:14:24

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

Re: BYOB 3 - Discussion Thread

News flash:  This morning they announced an "experimental viewer" that's a piece of what they're thinking about for Scratch 2.0: http://scratch.mit.edu/forums/viewtopic.php?id=43223.


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

Offline

 

#1409 2010-08-12 11:31:26

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

Re: BYOB 3 - Discussion Thread

shadow_7283 wrote:

tongue  I wish I lived in Cambridge. So, is the Scratch team still unsure about including first-class procedures? They seem pretty adamant about not having all of BYOB3's features.

No, I don't think anyone is adamant about anything (except me -- I want it all!).  But, you know, Scratch has been hugely successful without procedures at all, and people have made tremendously creative projects in it.

We've been batting around a bunch of alternatives.  One idea was to find a way to let people post Scratch-mod projects on the Scratch site, tagged so that you don't see the project unless you have that mod.  That way we'd avoid fragmenting the community (because everyone would still see the core Scratch projects and the Scratch forums etc.) but still maintain Scratch's character as a kid-focused program.
There are pros and cons to that idea.

The hat block would be kind of cool, but I don't really see how it would function any better than a "forever" and an "if" wrapped around the entire script.

That's true, they're equivalent.  But somehow it feels different; I think it's strange to have a script that's always technically running, but only really runs in response to an event.  Also, FOREVER IF runs at the speed of the Scratch clock, whereas hat blocks test their conditions much more frequently, I'm told.


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

Offline

 

#1410 2010-08-12 11:41:52

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

Re: BYOB 3 - Discussion Thread

Billybob-Mario wrote:

What exactly does lambada mean?

It's lambda, l-a-m-b-d-a, not lambada (which is a kind of dance).

Lucario is always telling me my posts are too long, so I'm not going to try to write a complete tutorial (especially since we have tutorials on the web site).  Briefly, lambda is the computer science name for the mechanism for turning an action (a block or script) into data, something you can manipulate -- put in a list, for example.  In BYOB when we say "lambda" we're talking about the two blocks THE BLOCK and THE SCRIPT.  You put a reporter block or a script (respectively) inside them and that block or script is taken as a thing in itself, rather than evaluated.

<3> + <2>    --->   5

THE [<3> + <2>] BLOCK   --->   [<3> + <2>]

So, try making a list that contains the scripts
    MOVE 10 STEPS
    MOVE -10 STEPS
    TURN LEFT 45 DEGREES
    TURN RIGHT 45 DEGREES
then do
    FOREVER
        RUN [ITEM <any> OF <the-list>]
to get a random walk.

Does that help?


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

Offline

 

#1411 2010-08-12 12:33:04

fullmoon
Retired Community Moderator
Registered: 2007-06-04
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

That's true, they're equivalent.  But somehow it feels different; I think it's strange to have a script that's always technically running, but only really runs in response to an event.  Also, FOREVER IF runs at the speed of the Scratch clock, whereas hat blocks test their conditions much more frequently, I'm told.

So basically executing a hat block like this:

Code:

When <true> is true:
  stamp

would be faster than doing the same thing in a forever/if construct? That feels strange to me. On the other hand, it much more closely matches Flash's callback-based flow (it's single-threaded  mad ), and heck, I'll take a speed increase wherever I can get one. You pointed out that having a script that's always running but not really doesn't seem right, and I think that's why this hat block was removed from Scratch in the first place. But basically, that's how everything in Flash works, because you can't just launch a thread with an endless loop in it. So I'm torn.

And thanks for the tip about the experimental viewer! It's epic...but I sure hope we drop the .sb format for 2.0.


http://i302.photobucket.com/albums/nn100/fullmoon32/wow.jpg

Offline

 

#1412 2010-08-12 12:34:32

fullmoon
Retired Community Moderator
Registered: 2007-06-04
Posts: 1000+

Re: BYOB 3 - Discussion Thread

It's interesting that they're now differentiating between "control" and "triggers"!


http://i302.photobucket.com/albums/nn100/fullmoon32/wow.jpg

Offline

 

#1413 2010-08-12 12:48:51

shadow_7283
Scratcher
Registered: 2007-11-07
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Yeah, thank you very much for the link! I always forget to check the announcement forums. XD

EDIT: IT RUNS SO FAST! There isn't any lag when editing scripts!

Offline

 

#1414 2010-08-12 15:05:23

Lucario621
Community Moderator
Registered: 2007-10-03
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

Lucario621 wrote:

how bharvey is not including an 'important programming concept' suggested by nXIII.

Hey, no fair; we've taken plenty of ideas from you guys generally and nXIII in particular.

I'd be happy to see a proof-of-concept Scratch extension that demonstrates the kind of program you can write using pointers that you can't write better without using pointers.  That's what we did in the movie!

Pointers are important if you're writing a compiler or an operating system, but not if what you're writing is an application, like most Scratch projects.

P.S.  One procedure that sort of calls for pointers is SWAP <x> <y> where the two inputs have to be variables.  But a better solution to that particular problem is one that nXIII was himself working on for a while, a generalized SET block onto which you could drag anything settable.  I'm not sure what the status of that project is, but it's an example of how to do what pointers can do in a cleaner way.

I was just comparing your logic to those of the scratch team and how you complain about them  lol  - I have no idea what pointers even are!  lol  (and don't bother explaining lol)


http://i.imgur.com/WBkM2QQ.png

Offline

 

#1415 2010-08-12 15:07:26

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

Re: BYOB 3 - Discussion Thread

fullmoon wrote:

So basically executing a hat block ... would be faster than doing the same thing in a forever/if construct?

I may have said it badly.  It's not that the overall speed of the program will be different.  It's that an event will be noticed right away instead of at the next clock tick.  This would matter only if an event is over very quickly, e.g., a mouse click that lasts less than 1/20 sec.

Oh, and I believe that the current implementation of broadcasts is tightly integrated with hat blocks, which is why there's no <I RECEIVED foo> block.


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

Offline

 

#1416 2010-08-12 15:13:52

fullmoon
Retired Community Moderator
Registered: 2007-06-04
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

fullmoon wrote:

So basically executing a hat block ... would be faster than doing the same thing in a forever/if construct?

I may have said it badly.  It's not that the overall speed of the program will be different.  It's that an event will be noticed right away instead of at the next clock tick.  This would matter only if an event is over very quickly, e.g., a mouse click that lasts less than 1/20 sec.

Oh, and I believe that the current implementation of broadcasts is tightly integrated with hat blocks, which is why there's no <I RECEIVED foo> block.

When you say the next "clock tick", do you mean the next time Scratch executes the loop, or the next time Flash actually gets a timer tick? I expect there would be a bit of a difference  big_smile


http://i302.photobucket.com/albums/nn100/fullmoon32/wow.jpg

Offline

 

#1417 2010-08-12 15:14:00

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

Re: BYOB 3 - Discussion Thread

Lucario621 wrote:

I was just comparing your logic to those of the scratch team and how you complain about them  lol

I did see the " lol " but just for the record, I try really hard not to complain about the S.T.; I disagree with them about some things, which is different.  We're all friends.

And, the disagreement isn't about whether all possible ideas should be included!

I have no idea what pointers even are!  lol  (and don't bother explaining lol)

I'll let nXIII do that.  smile


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

Offline

 

#1418 2010-08-12 15:17:10

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

Re: BYOB 3 - Discussion Thread

fullmoon wrote:

When you say the next "clock tick", do you mean the next time Scratch executes the loop, or the next time Flash actually gets a timer tick?

Scratch.  The Scratch evaluator is actually deliberately slowed down so that projects run at about the same speed on all computers, fast or slow.  1/20 sec is a really long time by computer standards, although fast enough not to be annoying to human beings.


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

Offline

 

#1419 2010-08-12 15:19:50

ScratchReallyROCKS
Scratcher
Registered: 2009-04-22
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

fullmoon wrote:

When you say the next "clock tick", do you mean the next time Scratch executes the loop, or the next time Flash actually gets a timer tick?

Scratch.  The Scratch evaluator is actually deliberately slowed down so that projects run at about the same speed on all computers, fast or slow.  1/20 sec is a really long time by computer standards, although fast enough not to be annoying to human beings.

How would you change that?


http://imageshack.us/a/img694/3806/sigmad.png

Offline

 

#1420 2010-08-12 15:20:01

Lucario621
Community Moderator
Registered: 2007-10-03
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

fullmoon wrote:

Sooo, how's the conference going? Maybe I'm just out of it, but I can't seem to find anything about it anywhere!

http://events.scratch.mit.edu/conference/2010/media

The conference hasn't really started yet; yesterday there were preconference workshops.  We didn't attend one; instead we spent most of the day talking with Brian Silverman and John Maloney about just how far along the line of

procedures with no inputs or outputs
procedures with inputs
procedures with inputs and outputs
first class procedures

Scratch 2.0 should go.  (Of course you know what we think!)  The first of those would really be little more than a different syntax for BROADCAST AND WAIT.  The second would allow custom commands but not reporters.  The third would allow more or less all of Make a Block but not lambda.

Brian (the other one) points out, correctly, that in the history of Logo, the predecessor of Scratch, very few kids actually wrote reporters in their projects.  We don't know whether kids found it too hard, or whether they just didn't see any need for them.  And we don't really know whether kids are turned off on the whole enterprise if there are a few pieces they find obscure.  We each had some evidence to support our different views.

Oh, we also had an interesting discussion with John about the generic hat block (the one that just has a hexagonal boolean slot as the condition).  John had implemented that a long time ago but they took it out of Scratch partly because of the problem that a user might write a test that's always true, and then the block would keep running forever.  We came up with an idea about that:  A generic hat block should fire if (1) the condition is true when the green flag is clicked, or (2) the condition was false on the previous clock tick but is true now.  Another idea would be to include an on-off switch in each generic hat block so they could be individually disabled.  What do you (all) think about those ideas?

Today the actual conference sessions start.

Oh, P.S., we put a big pile of BYOB buttons on the registration table and they were all gone two hours later.  smile   But don't worry, we have more for today.

Awesome! (looking at video) I remember all of those places from Scratch Day!  big_smile  Including the aweshum lego scratch cat!  tongue  And I remember the people  big_smile  I see lightnin, natalie, jay.... all familiar faces!  tongue  And all of the tables!!!! Except instead of kids playing with LEGO WeDo and sharing projects, it's just adults in chairs not large enough for them, talking... I wish I was there... I would if it wasn't for that darn price of $250!!! And are those.... ZooPal plates??? XD (I remember from those annoying commercials xD)

http://www.smekenseducation.com/images/img/ZooPals.jpg

Ahh..... brings back good memories ^_^


http://i.imgur.com/WBkM2QQ.png

Offline

 

#1421 2010-08-12 15:30:10

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

Re: BYOB 3 - Discussion Thread

ScratchReallyROCKS wrote:

How would you change that?

Well, in BYOB we've replaced the artificial slowdown with real useful slowdown.  smile


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

Offline

 

#1422 2010-08-12 15:31:14

shadow_7283
Scratcher
Registered: 2007-11-07
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Baa Baa zoo pals,
Quack Quack zoo pals,
Oink Oink zoo pals,
Zoo pals make eating fun! XD

Offline

 

#1423 2010-08-12 15:33:21

Billybob-Mario
Scratcher
Registered: 2008-01-05
Posts: 500+

Re: BYOB 3 - Discussion Thread

BYOB takes up every letter for arguments, so how can I add dropdown menus in blocks? uncoloredArgMorphFor is full.

Offline

 

#1424 2010-08-12 15:35:16

johnnydean1
Scratcher
Registered: 2010-02-12
Posts: 1000+

Re: BYOB 3 - Discussion Thread

does it use V and v and A and a and so on?


You can now reach me on Twitter @johnnydean1_

Offline

 

#1425 2010-08-12 15:35:37

Lucario621
Community Moderator
Registered: 2007-10-03
Posts: 1000+

Re: BYOB 3 - Discussion Thread

shadow_7283 wrote:

Baa Baa zoo pals,
Quack Quack zoo pals,
Oink Oink zoo pals,
Zoo pals make eating fun! XD

Lololololololololololololololololol *insert more lols here*


http://i.imgur.com/WBkM2QQ.png

Offline

 

Board footer