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

#2151 2010-05-05 17:16:36

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

nXIII wrote:

sparks wrote:

The URL reading block reports the raw HTML, I guess that's useful if you want things to be set out similiarly to a webpage, though without being able to set costumes to webpage images, it might not be worth much. Another problem is that when reading offline, it really slows everything down, especially for very long webpages. (although I have found writing long bits of information (such as pixil colours in an image) is actually faster to a file than to a list, it does not get noticably slower as the size increases.)

How about writing it to a list, then concatenating the list into a non-space-joined variable, then writing it all at once to a file.

sparks wrote:

sandboxing would be good, but it limits where a file could be placed, what about files in my documents or other locations? I was thinking of just locking certain paths, eg if the typed path contains windows in it, it will not follow through with the action.

How about it automatically prefixes all paths with the path to "My Documents" or something?

good ideas, loading an entire page of html to a list still takes a long time. and for the prefix "my documents" that fine for most users and would solve the problem, what if someone stores most of their things on another hard drive, not in their my documents folder? Urgh, I keep trying to save posts with ctrl s, stupid dropbox!


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#2152 2010-05-05 17:21:11

nXIII
Community Moderator
Registered: 2009-04-21
Posts: 1000+

Re: Panther development thread

bharvey wrote:

Wow!  That's a big ongoing time commitment.  Moderating the Scratch page is a full time job for... I don't know, how many people?  Plus I think they rope in undergraduates part-time.

We'd definitely like to be able to share BYOB projects, but my university's lawyers would never let us host it, not without the kind of paid supervision MIT does on their site.

Well, I'm kind of unsure about the java player... CYOB (sorry for the ripoff name, it was called Custom Blocks, but then everyone started saying CYOB...) would be quite difficult to implement (impossible, really, because the java player is not written in Smalltalk)

bharvey wrote:

One of Jens's brilliant ideas in BYOB was to extend the reach of the Sensing [<var> OF <sprite>] block.  I wonder if you could do that too -- [|costume| of <sprite3>] and so on.  And have one matching [SET <var> OF <sprite> TO <value>] (or even just extend SET to let a sprite set its own attributes).  Then you could have those capabilities, which I agree are crucial, without a zillion individual blocks.  And when you have first class costumes, etc., you could extend the second input of that Sensing block to work for non-sprite objects.  Imagine [|arity| OF <procedure>] etc.

Hm... well, what would 'costume of sprite' report? The name? We don't have first-class costumes, so that may not be a very useful feature in the current Panther.

bharvey wrote:

If you have any suggestions about making Panther safer to use, such as methods currently employed by Scratch, please suggest them.

The first obvious thing that occurs to me is to just sandbox it -- chroot Panther so it can only get at files the user explicitly moves into a Panther-data folder.  That would vastly reduce the need to worry about the security of each individual feature, although it wouldn't solve DoS problems.

That may be a very good idea... just like the "Scratch Projects" folder, a "Panther Data" folder is created when the program is first run, and any file I/O blocks will add its path to their beginning. Of course, CYOB provides a route around that, but the warnings for CYOB are not exactly subtle, so I don't think this would be too much of a problem.

bharvey wrote:

Sadly, while we are working hard to promote Panther, I don't think Paris is a realistic choice here

Bummer.  I'll have to find a way to come visit you.  (Although OTOH all this posting of ages and places is probably breaking some rule.)

I might be able to come to MIT! When is it?


nXIII

Offline

 

#2153 2010-05-05 17:26:55

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

I envy you nXIII, MIT sounds to me like the chocolate factory sounded to charlie ^_^


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#2154 2010-05-05 17:29:59

SeptimusHeap
Scratcher
Registered: 2010-02-01
Posts: 1000+

Re: Panther development thread

Wow. I just thought about how far Panther has come from that small little idea by a new user... (Me)

Last edited by SeptimusHeap (2010-05-05 17:30:06)


http://i46.tinypic.com/dw7zft.png

Offline

 

#2155 2010-05-05 17:31:25

nXIII
Community Moderator
Registered: 2009-04-21
Posts: 1000+

Re: Panther development thread

SeptimusHeap wrote:

Wow. I just thought about how far Panther has come from that small little idea by a new user... (Me)

Wow.

Last edited by nXIII (2010-05-05 17:31:37)


nXIII

Offline

 

#2156 2010-05-05 17:33:14

SeptimusHeap
Scratcher
Registered: 2010-02-01
Posts: 1000+

Re: Panther development thread

Idea: Badges.

Like on Kongregate (kongregate.com) that you get to keep (No 'points' though, just for show).

A user could make a badge in their game?


http://i46.tinypic.com/dw7zft.png

Offline

 

#2157 2010-05-05 17:41:45

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

that would require a server


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#2158 2010-05-05 18:06:18

nXIII
Community Moderator
Registered: 2009-04-21
Posts: 1000+

Re: Panther development thread

sparks wrote:

that would require a server

Which I have (kind of)

EDIT: Whoa, this thread has almost twice the amount of views as any other Advanced Topics thread

Last edited by nXIII (2010-05-05 19:23:57)


nXIII

Offline

 

#2159 2010-05-05 19:04:17

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

Re: Panther development thread

sparks wrote:

The URL reading block reports the raw HTML

Ah.  We were thinking along the lines of (1) flushing all the formatting controls altogether; (2) report lines of text, using only the text part of links, and the alternate text of pictures; (3) put the URL for a link as if it were a separate line, but type-tagged as a URL (the MapReduce api works with tagged data).  I guess it depends on whether you want to render the page (in which case you need all the fluff) or search it (in which case most of the HTML is just a distraction).

it does not get noticably slower as the size increases.

Very high on my list of things we need is a reimplementation of lists to give Theta(1) amortized performance on both list-ish and array-ish operations!  All my BYOB programs are dog slow.  sad

sandboxing would be good, but it limits where a file could be placed, what about files in my documents or other locations? I was thinking of just locking certain paths, eg if the typed path contains windows in it, it will not follow through with the action.

Again it depends on what kinds of programs you expect your users to write.  For purposes of learning to program, which is my main interest, there's no need at all for Panther/BYOB/Scratch programs to have access even to the user's own files, let alone the system files.  So I'd lean for draconian (and therefore easy) security.  If the programs can get to My Documents it's too easy to install viri in Word documents.

I for one would love to see costumes imported from online, it has a zillion and one uses, but it would also have a few issues as far as the images that can be displayed.

Wait, plain Scratch lets you import costumes from online, why is this a problem?

why won't the lawyer let you host it? is there some legal issue we ought to be aware of?

Profanity, slander, child molestation, malware...  If a relatively rich organization (not compared to a corporation, but compared to a person) hosts it, there are all kinds of opportunities to be sued.  You should get advice from the Scratch Team about how they handle the legal issues.  And IIRC you can get in way more trouble for slander in the UK than in the US.

I think visiting england would be awesome! if you're ever in the area, let me know!

Oh, this is very tempting.  I'm spending half of July and early August in France, and in theory I could just chunnel over, but the plan was to be driving around the south of France, so it would be quite a detour.


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

Offline

 

#2160 2010-05-05 19:07:39

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

Re: Panther development thread

SeptimusHeap wrote:

I don't think I'm going anywhere without my parents

You could bring your parents; afaik there isn't a kids-only policy at either conference!  smile


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

Offline

 

#2161 2010-05-05 19:31:06

nXIII
Community Moderator
Registered: 2009-04-21
Posts: 1000+

Re: Panther development thread

sparks wrote:

The URL reading block reports the raw HTML

Ah.  We were thinking along the lines of (1) flushing all the formatting controls altogether; (2) report lines of text, using only the text part of links, and the alternate text of pictures; (3) put the URL for a link as if it were a separate line, but type-tagged as a URL (the MapReduce api works with tagged data).  I guess it depends on whether you want to render the page (in which case you need all the fluff) or search it (in which case most of the HTML is just a distraction).
yes, we might want to strip the HTML altogether, but that's some pretty hefty parsing for Squeak, which is, sadly, fairly limited parsing-wise (although I DID make an implementation of BBCode for the news)

it does not get noticably slower as the size increases.

Very high on my list of things we need is a reimplementation of lists to give Theta(1) amortized performance on both list-ish and array-ish operations!  All my BYOB programs are dog slow.  sad
The best strategy is to limit file writing to one command (or two, one to clear the file) and just use a very large variable that contains all write data.

sandboxing would be good, but it limits where a file could be placed, what about files in my documents or other locations? I was thinking of just locking certain paths, eg if the typed path contains windows in it, it will not follow through with the action.

Again it depends on what kinds of programs you expect your users to write.  For purposes of learning to program, which is my main interest, there's no need at all for Panther/BYOB/Scratch programs to have access even to the user's own files, let alone the system files.  So I'd lean for draconian (and therefore easy) security.  If the programs can get to My Documents it's too easy to install viri in Word documents.
Yes, I was considering a "Panther Data" or "Panther Files" folder IN My documents, like "Scratch Projects".

I for one would love to see costumes imported from online, it has a zillion and one uses, but it would also have a few issues as far as the images that can be displayed.

Wait, plain Scratch lets you import costumes from online, why is this a problem?
As in a block that automatically imports images from online

why won't the lawyer let you host it? is there some legal issue we ought to be aware of?

Profanity, slander, child molestation, malware...  If a relatively rich organization (not compared to a corporation, but compared to a person) hosts it, there are all kinds of opportunities to be sued.  You should get advice from the Scratch Team about how they handle the legal issues.  And IIRC you can get in way more trouble for slander in the UK than in the US.
Hm... good point, I'm not sure how to deal with this.


nXIII

Offline

 

#2162 2010-05-05 19:51:30

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

Re: Panther development thread

nXIII wrote:

Hm... well, what would 'costume of sprite' report? The name? We don't have first-class costumes, so that may not be a very useful feature in the current Panther.

The context in which I made that suggestion was a litany of little reporter blocks.  I guess Scratch has a (costume) block that reports a number, right?  Anyway, the point is, whatever you want a little no-input reporter for, put it in the OF dropdown instead.  I'm trying to find a way to accommodate the Panther goal of being able to do anything from a program that you can do from the GUI (which I fervently support) with the Scratch goal of not cluttering the palette (which I also understand).  If you don't like the costume example just pick a status reporter you do like!  smile

"Panther Data" folder is created when the program is first run, and any file I/O blocks will add its path to their beginning. Of course, CYOB provides a route around that, but the warnings for CYOB are not exactly subtle, so I don't think this would be too much of a problem.

No, you don't do the sandboxing in the I/O blocks.  You do a chroot
system call (I don't know what it's called in Windows but there must be an equivalent) so that the operating system redirects all I/O operations to a restricted directory.  In that directory you build a whole file system, including Panther itself.  Then it doesn't matter if the bad guy can write in Smalltalk.

I might be able to come to MIT! When is it?

Aug 11-14: http://scratched.media.mit.edu/discussi … hink-remix

It would be awesome if you came!  And if you're in the US you should come visit Berkeley, too, so we can explain why you should come here to study computer science.  smile


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

Offline

 

#2163 2010-05-05 20:02:57

nXIII
Community Moderator
Registered: 2009-04-21
Posts: 1000+

Re: Panther development thread

bharvey wrote:

nXIII wrote:

Hm... well, what would 'costume of sprite' report? The name? We don't have first-class costumes, so that may not be a very useful feature in the current Panther.

The context in which I made that suggestion was a litany of little reporter blocks.  I guess Scratch has a (costume) block that reports a number, right?  Anyway, the point is, whatever you want a little no-input reporter for, put it in the OF dropdown instead.  I'm trying to find a way to accommodate the Panther goal of being able to do anything from a program that you can do from the GUI (which I fervently support) with the Scratch goal of not cluttering the palette (which I also understand).  If you don't like the costume example just pick a status reporter you do like!  smile
Oh, so you want to compact all zero-input reporters into the '' of '' block? That's a good idea!

"Panther Data" folder is created when the program is first run, and any file I/O blocks will add its path to their beginning. Of course, CYOB provides a route around that, but the warnings for CYOB are not exactly subtle, so I don't think this would be too much of a problem.

No, you don't do the sandboxing in the I/O blocks.  You do a chroot
system call (I don't know what it's called in Windows but there must be an equivalent) so that the operating system redirects all I/O operations to a restricted directory.  In that directory you build a whole file system, including Panther itself.  Then it doesn't matter if the bad guy can write in Smalltalk.
Oh... I don't know how to do that. I should look into it, it looks pretty much perfect!

I might be able to come to MIT! When is it?

Aug 11-14: http://scratched.media.mit.edu/discussi … hink-remix

It would be awesome if you came!  And if you're in the US you should come visit Berkeley, too, so we can explain why you should come here to study computer science.  smile
Cool! I'll look into that, and I bet I can come.


nXIII

Offline

 

#2164 2010-05-05 20:10:02

SeptimusHeap
Scratcher
Registered: 2010-02-01
Posts: 1000+

Re: Panther development thread

Yeah. I'm not going to study computer science (If I do) for a LOOOONG time.

But, hey! I'm the only one I know that programs in:

NXT-G
Lua
Scratch
Panther  smile
VB (2010)

Hmm...

Alice (A little)

smile


http://i46.tinypic.com/dw7zft.png

Offline

 

#2165 2010-05-05 20:27:24

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

Re: Panther development thread

SeptimusHeap wrote:

Yeah. I'm not going to study computer science (If I do) for a LOOOONG time.

But, hey! I'm the only one I know that programs in:

NXT-G
Lua
Scratch
Panther  smile
VB (2010)

Hmm...

Alice (A little)

smile

HEY! I'm the NXT-G EXPERT!


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

Offline

 

#2166 2010-05-05 20:45:53

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

Re: Panther development thread

nXIII wrote:

Oh, so you want to compact all zero-input reporters into the '' of '' block? That's a good idea!

Yeah, and compact all the setters into SET.

Oh... I don't know how to do that. I should look into it, it looks pretty much perfect!

I just googled "windows chroot" and discovered that Windows itself does not come with an equivalent, but there are a bunch of third-party solutions, some of them free.

Cool! I'll look into that, and I bet I can come.

Awesome.  Do you like hot spicy Chinese food?


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

Offline

 

#2167 2010-05-05 20:59:33

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

Re: Panther development thread

SeptimusHeap wrote:

NXT-G
Lua
Scratch
Panther  smile
VB (2010)
Alice (A little)

Well, instead of just collecting more and more languages forever, maybe you're ready to just skip to God's programming language.


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

Offline

 

#2168 2010-05-06 04:53:29

sparks
Community Moderator
Registered: 2008-11-05
Posts: 1000+

Re: Panther development thread

I am vaguely interested in computer science, but am more interested in robotics and artificial intelligence. That's one of the reasons I'm so keen to get live webcam feed for Panther, its a great way to introduce people to motion and colour detection as well as simple object recognition. Does MIT do any work with Robotics? if so, I might just have to come over some day and look around  big_smile  I guess I might convince my parents to come to Paris for a few days, I could do a talk about Panther! I'll see what they say  tongue  what date is it again?


http://img541.imageshack.us/img541/7563/scratchbetabanner.png

Offline

 

#2169 2010-05-06 05:59:09

rossyboyfilm
Scratcher
Registered: 2010-02-11
Posts: 87

Re: Panther development thread

Good luck guys with all the Panther Programming to be honest i dont see how you can do programming on scratch it's only a simple programming language but i suppose vriables help in games. Good Luck!  smile


http://i46.tinypic.com/2128hvq.png

Offline

 

#2170 2010-05-06 06:02:44

Sperry
Scratcher
Registered: 2010-03-09
Posts: 500+

Re: Panther development thread

rossyboyfilm wrote:

Good luck guys with all the Panther Programming to be honest i dont see how you can do programming on scratch it's only a simple programming language but i suppose vriables help in games. Good Luck!  smile

Thanks!  smile

We want to make Panther more advanced but still let it be simple to the users. Also, you have to program more blocks in using the source code, and you need a decent knowledge of Smalltalk for that.


http://img709.imageshack.us/img709/3252/gobanim2.gifhttp://ls.gd/bo

Offline

 

#2171 2010-05-06 07:42:57

SeptimusHeap
Scratcher
Registered: 2010-02-01
Posts: 1000+

Re: Panther development thread

MathWizz wrote:

SeptimusHeap wrote:

Yeah. I'm not going to study computer science (If I do) for a LOOOONG time.

But, hey! I'm the only one I know that programs in:

NXT-G
Lua
Scratch
Panther  smile
VB (2010)

Hmm...

Alice (A little)

smile

HEY! I'm the NXT-G EXPERT!

But I haz 2.0  smile


http://i46.tinypic.com/dw7zft.png

Offline

 

#2172 2010-05-06 07:44:40

SeptimusHeap
Scratcher
Registered: 2010-02-01
Posts: 1000+

Re: Panther development thread

bharvey wrote:

SeptimusHeap wrote:

NXT-G
Lua
Scratch
Panther  smile
VB (2010)
Alice (A little)

Well, instead of just collecting more and more languages forever, maybe you're ready to just skip to God's programming language.

I can't really understand what it is  smile

I might add Actionscript to my list.

SQL?

Last edited by SeptimusHeap (2010-05-06 07:51:37)


http://i46.tinypic.com/dw7zft.png

Offline

 

#2173 2010-05-06 09:42:17

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

Re: Panther development thread

sparks wrote:

I am vaguely interested in computer science, but am more interested in robotics and artificial intelligence. That's one of the reasons I'm so keen to get live webcam feed for Panther, its a great way to introduce people to motion and colour detection as well as simple object recognition. Does MIT do any work with Robotics? if so, I might just have to come over some day and look around  big_smile  I guess I might convince my parents to come to Paris for a few days, I could do a talk about Panther! I'll see what they say  tongue  what date is it again?

O_O MIT ish ze king of de ROBOTS!

EDIT: MIT stands for Massachusetts Institute of Technology.

Last edited by MathWizz (2010-05-06 09:44:26)


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

Offline

 

#2174 2010-05-06 09:59:32

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

Re: Panther development thread

sparks wrote:

I guess I might convince my parents to come to Paris for a few days, I could do a talk about Panther! I'll see what they say  tongue  what date is it again?

16-20 Aug.  The BYOB
workshop is Fri 20 Aug., I think in the afternoon; it would be easy (because we don't have to ask anyone  smile  ) to carve out a little time there for a Panther demo.  (I don't think the people at the workshop will be ready to write custom blocks in Smalltalk, though.)


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

Offline

 

#2175 2010-05-06 10:07:17

Sperry
Scratcher
Registered: 2010-03-09
Posts: 500+

Re: Panther development thread

bharvey wrote:

sparks wrote:

I guess I might convince my parents to come to Paris for a few days, I could do a talk about Panther! I'll see what they say  tongue  what date is it again?

16-20 Aug.  The BYOB
workshop is Fri 20 Aug., I think in the afternoon; it would be easy (because we don't have to ask anyone  smile  ) to carve out a little time there for a Panther demo.  (I don't think the people at the workshop will be ready to write custom blocks in Smalltalk, though.)

Wow! That is nice of you!

I'm sure we'd like to make a demo. But, unfortunatly I don't have a passport and it is unlikely that my parents would let me go to Paris anyway.


http://img709.imageshack.us/img709/3252/gobanim2.gifhttp://ls.gd/bo

Offline

 

Board footer