Storing and retrieving data in a cloud is a lot harder than I thought... Lots of factors to consider: Scratch server latency, other users updating the list at the same time, creating an efficient search algorithm...
Here's my messy notes about various topics, again. I'm thinking we should have at least 4 cloud lists:
-Chatroom; accessed by a "chat" app in core (i.e. made in Scratch and not ListScript, if we do decide to implement it) ListOS.
-Filesystem; where users store their personal stuff.
-Cloudsites; where cloudsites are uploaded and downloaded from, with the "browser" app.
-Cloud Apps; where ListScripts are stored and retrieved. Could be browsed with a catalog of sorts?
Upon accessing a resource in a cloud list, it must be immediately stored in a local "cache" list, to reduce possible latency when using the same resource in the future.
__________________
On an unrelated note: We could use CheeseyCheese100's recently featured "Program this!" project, or perhaps even invite him to this project (not sure if he's active) - our project isn't very active currently.
His custom language's syntax is great, and probably the easiest I've seen in a "Scratch-made language" project, and as he already has loops, many functions, and a solid syntax down, all it needs is some functions to interface with ListOS and it's cloud system.
__________________
I'll be out in vacation for a week, starting tomorrow. I might not be able to work, and thus I encourage everyone here to do some work on their own c: I haven't seen anything from the rest of the team yet.
Offline
Perhaps. We can't really do anything now (obviously. ), but OK.
EDIT: Is Bastian you?
Last edited by Firedrake969 (2013-01-13 17:20:04)
Offline
Firedrake969 wrote:
Perhaps. We can't really do anything now (obviously. ), but OK.
We can make prototypes while waiting for 2.0. Alright, I'll go comment in one of his projects.
Firedrake969 wrote:
EDIT: Is Bastian you?
Yes.
Offline
One of whose projects?
I wonder if I can start working in 2.0 now...
Offline
Commented in one of CheeseyCheese's projects. He hasn't replied yet.
I don't think there's any problem with you working in 2.0 before the public beta. Unless you can't save to your computer or something
I'm on vacation, posting with a 3G connection.
Offline
This seems like a really cool idea! I've worked on some things similar to this project, and I think I can be a helpful addition to the team (if you accept my application, of course.)
Name: Lellowsfuzz
Length of time on Scratch: 5 years
Best area on Scratch: I mostly do experimental programming with lists and variables. I also make games.
How good you are in that area: Pretty good.
Activity: I have school, so my time is limited on Mondays through Fridays, but I can be on whenever on the weekends.
Best project: Here's some random stuff of mine. 1 2 3
Note: Some of it may be really bad because I made it a while ago. Also, I am horrible at graphics.
Offline
Lellowsfuzz wrote:
This seems like a really cool idea! I've worked on some things similar to this project, and I think I can be a helpful addition to the team (if you accept my application, of course.)
Name: Lellowsfuzz
Length of time on Scratch: 5 years
Best area on Scratch: I mostly do experimental programming with lists and variables. I also make games.
How good you are in that area: Pretty good.
Activity: I have school, so my time is limited on Mondays through Fridays, but I can be on whenever on the weekends.
Best project: Here's some random stuff of mine. 1 2 3
Note: Some of it may be really bad because I made it a while ago. Also, I am horrible at graphics.
In. I've seen your work.
Offline
CheeseyCheese is fine with us remixing his scripting language [link]
Offline
When I have the time and motivation. Plus, I think the first thing I'm gonna have to do is replace any repetitive actions with custom blocks (to clean the code up), and I won't be able to do that until the Scratch 2.0 public beta starts. All I can do now is see how it works, and hack up some prototypes of features into it.
Changes I'm thinking of doing, to make CheeseyCheese's scripting language ListScript:
-Variables may take any name, and will be stored in a list. I've already kinda done this, in a prototype.
-Remove all the graphical functions, which are pretty much all but loops, and add ListOS-specific functions.
-Add labels, perhaps?
-I also wonder if compiling the script to shorter bytecodes would improve performance at all.
-Maybe I could figure out how to make lists, too. Lists in a list-based scripting language in a list-based OS, hah.
Last edited by technoguyx (2013-01-17 13:11:53)
Offline
technoguyx wrote:
Storing and retrieving data in a cloud is a lot harder than I thought... Lots of factors to consider: Scratch server latency, other users updating the list at the same time, creating an efficient search algorithm...
Here's my messy notes about various topics, again. I'm thinking we should have at least 4 cloud lists:
-Chatroom; accessed by a "chat" app in core (i.e. made in Scratch and not ListScript, if we do decide to implement it) ListOS.
-Filesystem; where users store their personal stuff.
-Cloudsites; where cloudsites are uploaded and downloaded from, with the "browser" app.
-Cloud Apps; where ListScripts are stored and retrieved. Could be browsed with a catalog of sorts?
Upon accessing a resource in a cloud list, it must be immediately stored in a local "cache" list, to reduce possible latency when using the same resource in the future.
__________________
On an unrelated note: We could use CheeseyCheese100's recently featured "Program this!" project, or perhaps even invite him to this project (not sure if he's active) - our project isn't very active currently.
His custom language's syntax is great, and probably the easiest I've seen in a "Scratch-made language" project, and as he already has loops, many functions, and a solid syntax down, all it needs is some functions to interface with ListOS and it's cloud system.
__________________
I'll be out in vacation for a week, starting tomorrow. I might not be able to work, and thus I encourage everyone here to do some work on their own c: I haven't seen anything from the rest of the team yet.
I really like all of this! I can make some simple programs utilizing the different features you talk about if you want me to.
technoguyx wrote:
When I have the time and motivation. tongue Plus, I think the first thing I'm gonna have to do is replace any repetitive actions with custom blocks (to clean the code up), and I won't be able to do that until the Scratch 2.0 public beta starts. All I can do now is see how it works, and hack up some prototypes of features into it.
I currently have access to 2.0, would that help you out at all?
Offline
Lellowsfuzz wrote:
I really like all of this! I can make some simple programs utilizing the different features you talk about if you want me to.
Sure, prototype any application you'd like. c:
Lellowsfuzz wrote:
I currently have access to 2.0, would that help you out at all?
You could check if the cloud lists can be read/written fast enough to be actually used as file storage, as we intend to. I think an effective way to test this would be to make a list with 100 items:
when gf clicked delete [all v] of [Cloud List v] repeat [100] add (pick random [1] to [10000]) to [Cloud List v] endThen check how much time it takes to read all these items:
set [i v] to [1] reset timer set [timer start v] to (timer) repeat (length of [Cloud List v]) add (item (i) of [Cloud List v]) to [another list v] change [i v] by [1] end say (join (join [It took ] ((timer) - (timer start))) [seconds to copy all items])And maybe then, how much time it takes to rewrite a whole 100-item cloud list.
set [i v] to [1] reset timer set [timer start v] to (timer) repeat (length of [Cloud List v]) replace item (i) of [Cloud List v] with [derp] change [i v] by [1] end say (join (join [It took ] ((timer) - (timer start))) [seconds to rewrite all items])That way we could get an idea of how fast cloud lists really are. c: I'm pretty sure early testers have done this kind of tests before, but no results of such tests are publicly available.
Offline
I can also. Which lists are the cloud ones? Which variables are the cloud ones? Should there be any custom blocks w/ or w/o all at once?
Offline
Only "Cloud List" is, obviously, a cloud list. All variables are local.
It would be great if you could try with, and without the new "all at once" block, though I don't think it'll make much of a difference, since that'll only speed up the writing to the list, and not actually retrieving data from the cloud list.
Offline
Good point. The run w/o screen refresh is only for, of course, the screen.
Offline
Anything need to be done?
I can do something if anything needs to be done...
Offline
Can I join?
Name: Programmer_112
Length of time on Scratch: About 2 years
Best area on Scratch: Games. Mostly manipulating code to work better
How good you are in that area: You tell me, but I think I'm OK
Activity level: I can get about 5-10 hours a week in. Maybe more
Best project: My best projects that I have finished areprobably either Swords and Sorcery, Terminal Keyboard, and Neurono OS. They are also my most diverse.
Last edited by Programmer_112 (2013-01-21 20:19:56)
Offline
Sure, will add you sooner or later.
Offline
Ok, Programmer_112: Turn the broadcast x and wait into custom blocks, if you know what I mean. That's your assignment.
Offline
firedrake969_test wrote:
Ok, Programmer_112: Turn the broadcast x and wait into custom blocks, if you know what I mean. That's your assignment.
I assume you mean use Scratch 2.0 to make these blocks. If not, please correct me.
Offline
Programmer_112 wrote:
firedrake969_test wrote:
Ok, Programmer_112: Turn the broadcast x and wait into custom blocks, if you know what I mean. That's your assignment.
I assume you mean use Scratch 2.0 to make these blocks. If not, please correct me.
Yes.
Offline