I would *really* like to be able to wrap my head around Croquet here and start using it, it does seem to have a lot of potential. I've downloaded the torrent a few times now and each time it does show improvements; this time I didn't even get one of those permanent error messages burned into my display (and my image) when i tried to update. I have had no previous experience with smalltalk but I am pretty much able to follow along with the island examples that are described in a couple different places. I do have a number of questions which have probably been brought up before (but I can't seem to find them). I'm ready to be flamed as one of those annoying FAQ questioners though, feel free to throw some website links at me that I could use. The later questions I think are more interesting to me than the earlier ones.
Tweak *) Does "tweak" refer to the "bit-equivalent" implementation of smalltalk, or does the definition also include the opengl/openal stuff? Does a command-line version of tweak exist? This is related to a later question. *) There appears to be a single namespace for all script / class code / whatever it's called. What is a good way for me to "stay out of the way" of the system classes, and how difficult is it to remove my changes without having to rollback to a previous image? Can scripts / class code be serialized outside of the image? (probably, you've got .mzx files all over the repository) The examples seem to have people creating islands by writing scripts directly into server classes like "Harness", is this generally considered a good idea? Morphic *) I stopped playing with Croquet last time when i closed my Toolbox and spent 45min unsuccessfully trying to get it back. How does one open a Toolbox window? *) Is there an "interrupt" key somewhere where I can stop processes that have taken control of the tweak session or otherwise are unwilling to Go Away ? *) I would probably feel a lot better about using the system I familiarized myself with non-Croquet stuff, are there tutorials out there or something to show how that guy did that powerpoint-like presentation using nothing but Tweak/Morphic? I recognized the halo's appearing at times. Croquet *) How self-contained are islands? Is it just the objects and textures that get snapshotted, or do the scripts / classes get snapshotted as well? If they do, what happens if there are collisions or version conflicts with scripts / classes of the same name in one of the participant's machines? If they don't, how does one build a new island and expect people to enter it without going to the repository manager? *) Can objects open and pass through portals? If so, does this bring up the possibility of using mobile agents to travel by passing through croquet-space? *) Can one serialize islands or otherwise export them out of the image? Note that this is similar to an earlier question. *) It sounds like an island is destroyed when all references to it are released. This means I assume that anything I pull out of the Toolbox (as well as any islands I create from there) die as soon as I close the Morphic window. Other than writing a script to recreate the island, is there some way to "keep it alive" ? Make it into a toolbox icon or something? *) How do I set up a Croquet server (lots of groans expected here). From what I'm seeing it would involve (1) a headless (command-line) version of tweak running (2) a router and (3) a simulator that subscribes to every island that the router is requested to route for. This would provide persistent distributed storage, the ability for an island to exist without any (non-server) participants, a "seed" for any future participant to connect to, and the ability to have an island be accessible (and editable) even if the most recent participants all closed down their croquet instances and went home. The downside to this is that you couldn't ever delete islands. *) How do you expect to be able to scale to thousands of participants per island if there is a single router servicing everyone? I know the bandwidth requirements are minimal, but a single machine taking down an entire island doesn't seem to be that useful. Can there be more than one router for a single island? I heard a person in one of the movies mention using hash tables to increase the number of potential participants, what is the idea behind that? |
On May 4, 2007, at 11:06 PM, Erik Anderson wrote: > I would *really* like to be able to wrap my head around Croquet > here and start using it, it does seem to have a lot of potential. > I've downloaded the torrent a few times now and each time it does > show improvements; this time I didn't even get one of those > permanent error messages burned into my display (and my image) when > i tried to update. I have had no previous experience with > smalltalk but I am pretty much able to follow along with the island > examples that are described in a couple different places. I do > have a number of questions which have probably been brought up > before (but I can't seem to find them). I'm ready to be flamed as > one of those annoying FAQ questioners though, feel free to throw > some website links at me that I could use. The later questions I > think are more interesting to me than the earlier ones. > > Tweak > *) Does "tweak" refer to the "bit-equivalent" implementation of > smalltalk, or does the definition also include the opengl/openal > stuff? Neither. Tweak is an interesting 2D GUI framework mixed with an object model, written by Andreas Raab. You can probably glean something from http://tweakproject.org/ . The code at that site (indeed, the whole site) is not up-to-date. Tweak is most notably used in two projects: Sophie (http://sophieproject.org/) and Croquet. Andreas updates the Croquet branch; the Sophie folks maintain their own branch. > Does a command-line version of tweak exist? This is related to a > later question. Nope, this would make no sense. > > *) There appears to be a single namespace for all script / class > code / whatever it's called. What is a good way for me to "stay > out of the way" of the system classes, Don't use the same class names :-) > and how difficult is it to remove my changes without having to > rollback to a previous image? Easy. > Can scripts / class code be serialized outside of the image? Sure. Go to squeak.org and do some reading. Croquet uses the Monticello version control system. > (probably, you've got .mzx files all over the repository) The > examples seem to have people creating islands by writing scripts > directly into server classes like "Harness", is this generally > considered a good idea? It's not considered a terribly bad idea. It isn't the most scalable approach, but it is workable. And if you need to scale bigger, it's not hard to read and execute scripts from text files. > > Morphic > *) I stopped playing with Croquet last time when i closed my > Toolbox and spent 45min unsuccessfully trying to get it back. How > does one open a Toolbox window? > I don't know what you're talking about. > *) Is there an "interrupt" key somewhere where I can stop processes > that have taken control of the tweak session or otherwise are > unwilling to Go Away ? > Alt-. (Command-. on the Mac). > *) I would probably feel a lot better about using the system I > familiarized myself with non-Croquet stuff, are there tutorials out > there or something to show how that guy did that powerpoint-like > presentation using nothing but Tweak/Morphic? I recognized the > halo's appearing at times. > Start at squeak.org > Croquet > *) How self-contained are islands? Very. > Is it just the objects and textures that get snapshotted, or do the > scripts / classes get snapshotted as well? Not yet. > If they do, what happens if there are collisions or version > conflicts with scripts / classes of the same name in one of the > participant's machines? If they don't, how does one build a new > island and expect people to enter it without going to the > repository manager? > > *) Can objects open and pass through portals? The short anwser, yes (with some programming). The long answer is outside the scope of this email (more technical than I want to delve into). > If so, does this bring up the possibility of using mobile agents to > travel by passing through croquet-space? Yes. > > *) Can one serialize islands or otherwise export them out of the > image? Yes. In fact, this is exactly what happens when someone want's to join a space... they receive a serialized island from one of the existing participants (this is covered in the documentation). > Note that this is similar to an earlier question. > > *) It sounds like an island is destroyed when all references to it > are released. This means I assume that anything I pull out of the > Toolbox (as well as any islands I create from there) die as soon as > I close the Morphic window. Other than writing a script to > recreate the island, is there some way to "keep it alive" ? Make > it into a toolbox icon or something? Croquet is provided as an SDK. There are multiple ways that you might write code that causes an island to be persisted. The most straightforward is to use the same code that serializes an island when someone else wants to join. The Croquet Collaborative codebase (see http://www.croquetcollaborative.org/wordpress/ ; it is also included in the SDK download) uses this approach. > > *) How do I set up a Croquet server (lots of groans expected here). See the Croquet Collaborative website. > From what I'm seeing it would involve (1) a headless (command-line) > version of tweak running No. > (2) a router and (3) a simulator that subscribes to every island > that the router is requested to route for. This would provide > persistent distributed storage, the ability for an island to exist > without any (non-server) participants, a "seed" for any future > participant to connect to, and the ability to have an island be > accessible (and editable) even if the most recent participants all > closed down their croquet instances and went home. What you have described makes sense. > The downside to this is that you couldn't ever delete islands. Why not? > > *) How do you expect to be able to scale to thousands of > participants per island if there is a single router servicing > everyone? Several ways. In general, you don't need a 1-1 mapping between spaces/islands, so you don't need 1000s of participants per island. One example: Henry Strickland (Strick) is working on seamlessly tiling Croquet spaces (http://wiki.yak.net/820). > I know the bandwidth requirements are minimal, The CPU requirements are also minimal. > but a single machine taking down an entire island doesn't seem to > be that useful. "taking down?" I don't understand. > Can there be more than one router for a single island? Potentially. It is (conceptually) straightforward to make the routers hierarchical without significantly changing the current model. My understanding is that David Reed continues to research more advanced approaches. > I heard a person in one of the movies mention using hash tables to > increase the number of potential participants, what is the idea > behind that? I don't know what you're referring to. Josh |
In reply to this post by Erik Anderson-9
Also, I just came across the following on Howard's blog:
http://www.wetmachine.com/itf/item/770 Josh On May 4, 2007, at 11:06 PM, Erik Anderson wrote: > I would *really* like to be able to wrap my head around Croquet > here and start using it, it does seem to have a lot of potential. > I've downloaded the torrent a few times now and each time it does > show improvements; this time I didn't even get one of those > permanent error messages burned into my display (and my image) when > i tried to update. I have had no previous experience with > smalltalk but I am pretty much able to follow along with the island > examples that are described in a couple different places. I do > have a number of questions which have probably been brought up > before (but I can't seem to find them). I'm ready to be flamed as > one of those annoying FAQ questioners though, feel free to throw > some website links at me that I could use. The later questions I > think are more interesting to me than the earlier ones. > > Tweak > *) Does "tweak" refer to the "bit-equivalent" implementation of > smalltalk, or does the definition also include the opengl/openal > stuff? Does a command-line version of tweak exist? This is > related to a later question. > > *) There appears to be a single namespace for all script / class > code / whatever it's called. What is a good way for me to "stay > out of the way" of the system classes, and how difficult is it to > remove my changes without having to rollback to a previous image? > Can scripts / class code be serialized outside of the image? > (probably, you've got .mzx files all over the repository) The > examples seem to have people creating islands by writing scripts > directly into server classes like "Harness", is this generally > considered a good idea? > > Morphic > *) I stopped playing with Croquet last time when i closed my > Toolbox and spent 45min unsuccessfully trying to get it back. How > does one open a Toolbox window? > > *) Is there an "interrupt" key somewhere where I can stop processes > that have taken control of the tweak session or otherwise are > unwilling to Go Away ? > > *) I would probably feel a lot better about using the system I > familiarized myself with non-Croquet stuff, are there tutorials out > there or something to show how that guy did that powerpoint-like > presentation using nothing but Tweak/Morphic? I recognized the > halo's appearing at times. > > Croquet > *) How self-contained are islands? Is it just the objects and > textures that get snapshotted, or do the scripts / classes get > snapshotted as well? If they do, what happens if there are > collisions or version conflicts with scripts / classes of the same > name in one of the participant's machines? If they don't, how does > one build a new island and expect people to enter it without going > to the repository manager? > > *) Can objects open and pass through portals? If so, does this > bring up the possibility of using mobile agents to travel by > passing through croquet-space? > > *) Can one serialize islands or otherwise export them out of the > image? Note that this is similar to an earlier question. > > *) It sounds like an island is destroyed when all references to it > are released. This means I assume that anything I pull out of the > Toolbox (as well as any islands I create from there) die as soon as > I close the Morphic window. Other than writing a script to > recreate the island, is there some way to "keep it alive" ? Make > it into a toolbox icon or something? > > *) How do I set up a Croquet server (lots of groans expected > here). From what I'm seeing it would involve (1) a headless > (command-line) version of tweak running (2) a router and (3) a > simulator that subscribes to every island that the router is > requested to route for. This would provide persistent distributed > storage, the ability for an island to exist without any (non- > server) participants, a "seed" for any future participant to > connect to, and the ability to have an island be accessible (and > editable) even if the most recent participants all closed down > their croquet instances and went home. The downside to this is > that you couldn't ever delete islands. > > *) How do you expect to be able to scale to thousands of > participants per island if there is a single router servicing > everyone? I know the bandwidth requirements are minimal, but a > single machine taking down an entire island doesn't seem to be that > useful. Can there be more than one router for a single island? I > heard a person in one of the movies mention using hash tables to > increase the number of potential participants, what is the idea > behind that? |
In reply to this post by Joshua Gargus-2
Every list seems to have different reply instructions, let's try this again...
Wow, thank you for answering so quickly. On 5/4/07, Joshua Gargus
<[hidden email]> wrote:
I'm guessing that this has something to do with the repository browser? I saw one mention of clicking an existing package and rolling back any local changes if you run into conflicts while updating... > Morphic It's the window that you pull Croquet instances out of. I don't see a title to it in Croquet, but I remember it being referred to as "the toolbox" somewhere. > *) Can one serialize islands or otherwise export them out of the Well yah, I understand the snapshotting and router replication. I was thinking of saving them to disk for offline persistence and/or examination. > *) How do I set up a Croquet server (lots of groans expected here). I have gone through a significant fraction of the pages on that wiki, at least the ones that are 2-3 levels down from the root. Most references I've seen are very emphatic saying that there are no servers in Croquet. Was actually expecting a bit of a horrified response for asking for one. > From what I'm seeing it would involve (1) a headless (command-line) Was hoping to set this "persistent layer" up on a continuously running linux box. It has X installed for remote access, but unless you like ASCII art it ain't gonna getting graphics running on it. And no it's only a few years old. > (2) a router and (3) a simulator that subscribes to every island I'm assuming that islands are only deleted when there are no remaining references to them. If a "server" is going through and blindly joining every island that is being sent through a router, then unless you have a nice talk with the "server" asking it to disconnect from one or more islands then none of them are going to lose all of their references and disappear. > *) How do you expect to be able to scale to thousands of Lol, sounds like something from secondlife. I hope that "tile hopping" is a lot smoother than sim crossings... > but a single machine taking down an entire island doesn't seem to If nothing happens in an island unless a router says it happens (even internal events), then a router suddenly going off the internet is going to cause the island to freeze until someone instantiates it through a different router. > Can there be more than one router for a single island? It's always harder to find a quote when you're looking for it. The reference was first to subdividing and then to tiling, which is what you already mentioned. |
In reply to this post by Joshua Gargus-2
Hi
> > I heard a person in one of the movies mention using hash tables to > > increase the number of potential participants, what is the idea > > behind that? It may be a reference to distributed hash tables; mister Reed seems to think that DHTs may be a part of the answear to teatime's decentralization (if i'm not mistaken). > This would provide > persistent distributed storage, the ability for an island to exist > without any (non-server) participants I was wondering about it too; if an island is cached among every former participant, and updated in the background periodically (with a mecanism similar to an rss subscription), then a non-connected participant can serve the data for these islands, and route towards the router (give the router adress, or if it fails forward the connection request to the last seen participants), for the requester to join the island. This way, one could "browse" the metaverse by discovering cached spaces among random choosen nodes. Know somebody, you know islands, who know other clients interested; this could be a very good way to find related information to something: people who are interested in a subject know (and use) the alternatives; therefore, the related places lead to each other. > > *) How do you expect to be able to scale to thousands of > > participants per island if there is a single router servicing > > everyone? > > Several ways. In general, you don't need a 1-1 mapping between > spaces/islands, so you don't need 1000s of participants per island. > One example: Henry Strickland (Strick) is working on seamlessly > tiling Croquet spaces (http://wiki.yak.net/820). Thanks a lot for the pointer. Florent |
In reply to this post by Joshua Gargus-2
On 5/4/07, Joshua Gargus <[hidden email]> wrote:
Okay, so it sounds like there is a different implementaiton of smalltalk out there that is bit-equivalent to Tweak (or that Tweak is built on top of) and that I should go to the Croquet Collective to find a copy of it, lol > Morphic Figures. If it were buried under "World -> Open -> Tools -> something else" i probably would have found it. > *) Is there an "interrupt" key somewhere where I can stop processes Kewl, it even gives you a sad little stack trace about broken TPromises... Is there a reason why we are using a simple semaphore wait in the middle of a ui thread? Under Micro$oft this would have been shunted into a modified message loop (which here looks like WorldState>>doOneCycleFor) > I know the bandwidth requirements (of routers) are minimal, From what I have heard a router can handle a couple dozen participants at the most right now. I'm also assuming that anyone in a "neighboring" island are also subscribed to the router (if they can see into the island). Do these "secondary participants" require an upload connection to the router, and if not can a router support many more secondary "download only" participants than they support "primary" participants? |
On May 5, 2007, at 12:07 PM, Erik Anderson wrote:
Josh |
Okay, time to thaw out this old thread title again i guess. I think I'm starting to get the hang of the interface a bit more than I have in the past, but I'm still not getting anywhere near as far into this as I'm hoping I am.
(1) In the boat demo, how do you "stand up" after clicking on the boat? None of the navigation seems to work. (2) Are you supposed to not be able to launch two croquet morphs at once? I get a fatal null dereference exception in OpenALSourceName>position: if I attempt to. Should i send the log file it wrote to anyone? |
On May 18, 2007, at 12:02 AM, Erik Anderson wrote:
> Okay, time to thaw out this old thread title again i guess. I > think I'm starting to get the hang of the interface a bit more than > I have in the past, but I'm still not getting anywhere near as far > into this as I'm hoping I am. > > (1) In the boat demo, how do you "stand up" after clicking on the > boat? None of the navigation seems to work. > Do you mean after you've "hopped on" the boat? Middle-click on the boat again to get the menu and "hop off". > (2) Are you supposed to not be able to launch two croquet morphs at > once? I get a fatal null dereference exception in > OpenALSourceName>position: if I attempt to. Should i send the log > file it wrote to anyone? Yes. Are you running the latest version of the SDK? I know it works for the latest version on my MacBook Pro. What OS are you using? Peter Moore University Technology Development Center University of Minnesota [hidden email] |
On 5/18/07, Peter Moore <[hidden email]> wrote: Umm, I don't know. The crash report mentions that the engine is dated Feb 2007. This is under Win XP Pro.
> (2) Are you supposed to not be able to launch two croquet morphs at |
Free forum by Nabble | Edit this page |