I think panther gave my computer spyware
Offline
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.
But don't worry, we have more for today.
Offline
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
What exactly does lambada mean?
Offline
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.
Offline
shadow_7283 wrote:
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.
Offline
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?
Offline
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:
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
), 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.

Offline
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
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
- I have no idea what pointers even are!
(and don't bother explaining lol)
Offline
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.
Offline
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

Offline
Lucario621 wrote:
I was just comparing your logic to those of the scratch team and how you complain about them
![]()
I did see the "
" 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!
(and don't bother explaining lol)
I'll let nXIII do that.
Offline
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.
Offline
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?
Offline
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.But don't worry, we have more for today.
Awesome! (looking at video) I remember all of those places from Scratch Day!
Including the aweshum lego scratch cat!
And I remember the people
I see lightnin, natalie, jay.... all familiar faces!
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)
Ahh..... brings back good memories ^_^
Offline
Baa Baa zoo pals,
Quack Quack zoo pals,
Oink Oink zoo pals,
Zoo pals make eating fun! XD
Offline
BYOB takes up every letter for arguments, so how can I add dropdown menus in blocks? uncoloredArgMorphFor is full.
Offline
does it use V and v and A and a and so on?
Offline
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*
Offline