Visit Superuser

Squeak and Croquet

From Superuser Wiki

Croquet Avatar with Wireframe Portal, eToy, & Mirror
Enlarge
Croquet Avatar with Wireframe Portal, eToy, & Mirror

Contents

Getting Started

A good place to start is Wikipedia, it has an excellent article on the Croquet Project and Squeak.

Visit the Croquet project homepage and download the latest version.

Visit Squeakland to view over 30 years of work incorporating educational principles with the computer’s role as a tool for the mind… an “idea processor”.

Tutorials

Squeak

Croquet

Video

Squeak Examples in Education

Blogs

Research

Mailing lists

5 Most recent posts for each list

Squeak General

Re: Creating an image from first principles
2008/7/8 Eliot Miranda gmail.com>: Right. Exactly in the way how i done things in CorruptVM and it works just fine. I starting a bootstrap by sending single message, which leads to creating a first object, which is then tries fill all its slots, like vtable(class), which triggers creating a class, which triggers creating a bunch of another objects, compiling and installing methods in new classes, interning symbols etc etc. I think same could be done for Hydra easily. Even easier, because you don't have to deal with different object format. If you need, you may use my code as reference or as reference, how not to do things :) http://www.squeaksource.com/CorruptVM
Re: Proposal for CroquetMT [was: Prepare for Thousandsof Cores --- oh my Chip - it's full of cores!]
2008/7/8 David P Harris telus.net>: Its not confusing to those, who ever heard about Croquet. And island is very precise word in terms of parallel computing: Islands are isolated from each other. To travel from one island to another you need to cross the water.
ESUG Awards new record
Dear Smalltalkers, I'm glad to announce that for this 5th edition of the ESUG Innovation Technology Awards we got 22 submissions, which is a new record. Find out more about submissions on-line. http://www.esug.org/conferences/2008 Regards, Noury ------------------------------------------------------------------ Dr. Noury Bouraqadi - Enseignant/Chercheur Responsable de l'enseignement de l'informatique ARMINES - Ecole des Mines de Douai - Dept. I.A. http://vst.ensm-douai.fr/noury European Smalltalk Users Group Board http://www.esug.org ------------------------------------------------------------------
Re: Karatsuba multiplication in a plugin using slang,is it doable ?
At Fri, 04 Jul 2008 03:43:09 +0200, nicolas cellier wrote: Properly putting the pushRemappableOop:/popRemappableOop pair around the allocation of LargeInt and it should work, as long as the depth of the remapBuffer doesn't exceed 25. Or, you can pass an Array as a buffer (whose size can be calculated beforehand, I think) from the image and stick the temporary LargeInts to that buffer. It would be convenient if we had a simple interface for #allocate:headerSize:h1:h2:h3:doFill:with: to have the doFill argument be false for arbitrary class. Right now, the memory region allocated will be written twice (0's and then the computed result). That would be a limiting factor.
off-topic: another Lively...
http://www.techcrunch.com/2008/07/08/google-launches-virtual-world-called-lively/ -C

Squeakland

Re: v-toys on XO
It was a short test since we spent some times trying to load v-toys from internet and finally we have used USB key. Prior this test, I had checked the size using the button which simulates XO resolution. You can see on the picture that the book is fully visible in the flap. -----Original Message----- From: "Hilaire Fernandes" [hilaire-4ns+izT1ESbYtjvyW6yDsg< at >public.gmane.org] Date: 07/05/2008 07:51 AM To: "p.a.dreyfuss-wzCN7aUSXSrQT0dZR+AlfA< at >public.gmane.org" public.gmane.org> CC: squeakland-tgy29QT0A092KDkfy0k2sw< at >public.gmane.org Subject: Re: [Squeakland] v-toys on XO Note: Original message sent as attachment_______________________________________________ Squeakland mailing list Squeakland-tgy29QT0A092KDkfy0k2sw< at >public.gmane.org http://squeakland.org/mailman/listinfo/squeakland
Re: Improving squeakland.org
2008/7/2 p.a.dreyfuss-wzCN7aUSXSrQT0dZR+AlfA< at >public.gmane.org public.gmane.org>: The right address is: http://squeak.ofset.org:8000/super/gallery Thanks Pierre-Andr
Re: v-toys on XO
Hello Pierre-Andr
v-toys on XO
Hi, I have just shortly tested that v-toys (visual etoys) on an XO, see: the picture at: http://community.ofset.org/images/thumb/546px-V-toysOnXO.JPG Thanks to Fran
Re: Improving squeakland.org
Hi, Here are some URL. In French The educational part of the French speaking Squeak community. http://community.ofset.org/index.php/Squeak_Education Art and Squeak. An initiation to Squeak Etoys using visual arts projects, For non French Speaking, pictures and playing with projects are worthwhile for everybody. http://community.ofset.org/index.php/Art_et_Squeak The superswiki of the French community, with projects to download. . http://swiki.ofset.org:8000/super/gallery Use of Squeak for Maths. http://community.ofset.org/wiki/Math%C3%A9matiques Active labels a programming system for beginners easier than v-toys. (English version is coming). http://community.ofset.org/index.php/Etiquettes_actives In English: V-toys International page. (V-toys for OLPC). A visual programming system for Etoys. http://community.ofset.org/index.php/V-toys_international Best Regards. -----Original Message----- From: "Kim Rose" [kim.rose-uVco7kAcSAQ< at >public.gmane.org] Date: 07/01/2008 06:34 PM To: "Squeakland.org

Croquet User

Re: Subsuming other network resources under Croquet
Wow, Thanks for the detailed and informative information below.
Re: Subsuming other network resources under Croquet
There are at least three ways to look at subsuming applications within Croquet: * 2D legacy applications can be used just as they are, on a panel within a Croquet world. The application itself does not change, but benefits from collaboration by being presented as a sort of virtual computer within the 3D scene. There are several ways to do this -- mostly through network interaction/display technologies like X, VNC, RDP and similar. The Croquet code has some general "embedded application" machinery that allows one of two things to happen (with variations, of course), depending on the approach that your world's Croquet architect wants to take: - Some network interaction/display technologies allow clients to "share" a display, so that the multiplexing of I/O to many users is really done by the server for that technology, rather than by Croquet. Each Croquet participant's embedded app acts as a shared client to a server that is running the app. - Alternatively, a Croquet host (wh
Subsuming other network resources under Croquet
Hi there, The web begain with ability to subsume other network resources - such as usenet groups, gopher lists, and printers - under itself via linking. Any such resource could be respresented and accessed via a hyperlink on a webpage. This of course accounts in part for the webs enormous reach. My question here is, to what extent does Croquet offer the same 'subsumption power'. I understand, for example, that I can subsume webpages and internet resources via Croquet.But how does that work? Also, what about other applications? Can I run other windows or Mac applications inside a Croquet world on my desktop, and then share that application in a Crquet world/window with other Croquet users over the internet? Any guidance on these matters would be appreciated. Eric Sommer, CEO, ChinaDesk (www,chinadesk21.com), Beijing, China
Error in Cobalt
I finally got to the full nvidia setup for graphics and accelleration. Speed is now 1300fps by glxgears at full screen. But I still get errors in Cobalt. I cannot seem to copy them, and emailing them is therefore not reasonable. I attempted to use the email error tool, but it doesn't work either it appears, maybe due to the crash of the graphics interface. The error(s) seem to be related to a primitive not being recognized. It seems to be pointing to one called TransposeMatrixf. I just updated the livna nvidia drivers on Fedora 8, and verified that glxgears ran successfully with the speed reported (which is quite good actually). I suspect that I need to update Cobalt due to the changes in libraries. What is the current version. I am running Croquet.1.0.18.image which I installed April 9, along with the rest of the Cobalt directory. And the Cobalt stuff is: -rw-r--r-- 1 lesh lesh 10646719 2008-04-16 17:19 cobalt.1.changes -rw-r--r-- 1 lesh lesh 28343572 2008-03-17 06:53 cobalt.1.image Here is th
Tweak project builder - how to export?
Hello there, I need some help with the Tweak Project Builder please. I am wondering, after you design your windows and GUI components in the project builder, how you get the code for those windows and how you use them in Cobalt. I have tried to use the "Export Object" command while having the window highlighted, but that just triggers an error sound, and I've tried to use "Save Project As" but that triggers a worse error: the Squeak window gets "Checkpoint failure - searching image references." and has a progress bar while it does a very long search. Is there a workaround people have been using to design windows in CProjectBuilder and then use those windows in Cobalt? Thanks for your help, Mark

Croquet Developer

Re: Message queues: TIsland vs TIslandController
I see. In this case I would probably recommend that you don't fiddle with the time base and merely use internal futures without explicit delta time. Those will be scheduled in the current time slot which means that all of your processing runs effectively at a single point in time but if you come to the point where you want to do some algorithm animation you can do that 'cause you haven't thrown out the time base yet ;-) Right. That should be fairly straightforward. Cheers, - Andreas
Re: Message queues: TIsland vs TIslandController
Well, that is exactly what I want to do. I want to use islands to handle parallel computation, like a higher-level MPI. Computation is timeless. I am working on how to demo this by writing a parallel raytracer using islands as the units of parallism. It would also be useful to have a controller that released messages under user controll, so that islands could be stepped, one message at a time, like the Tweak debugger can do, except with an entire island. I guess it's just a simple matter of programming. TIslandControllers do not run inside an island, as they are external to the island abstraction.
Re: Message queues: TIsland vs TIslandController
This is exactly how it works. The island's event queue is a priority queue of messages, sorted by time. TIsland methods like #decode:, #scheduleMessage:at:, and #advanceTo: can be used to deliver, schedule and execute messages up to any time you'd like to. TIslandController and friends use this API to "run" the islands by controlling the flow of time coming from the router. It is utterly trivial to write a little loop that executes all outstanding messages right away but it is also utterly pointless ;-) A more realistic thing to try is to run the messages based on the local wall clock which TLocalController does. And just in case you are wondering why this is being factored into the various controllers instead of subclassing TIsland - that's because you can't snapshot an image segment for replication with all that crap in it ;-) Cheers, - Andreas Matthew Fulmer wrote:
Re: Message queues: TIsland vs TIslandController
It seems to me that time should be seperated from the event queue. I think it should work like this: A TIsland has a priority queue of messages to be executed. The Island can be started, stopped, or stepped at any time. A TIslandController would use this low-level mechanism to implement time, stepping the island until the time of the next message is greater than the goal time. Messages, both internal and external, would pass through the controller to recieve their priority This would also allow other messaging policies to be plugged in, such as a simple fifo executer, that allowed all messages to run as fast as possible in the case that no inter-island synchronization is needed.
Re: Message queues: TIsland vs TIslandController
Actually TIslandController doesn't have a current time. However, it utilizes its own event loop because there is so much concurrent interaction going on that it's easier to synchronize it by scheduling it via its own event loop. That event queue is entirely unrelated to the islands' queue. That's exactly what the controller does. The TIsland needs its own notion of time though since it must be able to schedule internal future messages. Cheers, - Andreas