Re: [Server-devel] [IAEP] Sharing EToys projects
At Sun, 06 Dec 2009 20:00:59 -0500, Benjamin M. Schwartz wrote: [1 multipart/signed (7bit)] [1.1 text/plain; ISO-8859-1 (quoted-printable)] Dave Bauer wrote: Do you happen to know what the mime type should be for Etoys to open it? The list of mime types that the eToys activity will open is at http://dev.laptop.org/git/projects/etoys/tree/activity.info.in I'm sure one of the eToys expert can give you better advice than I on which mime type is preferred. application/x-squeak-project is the one typically associated with .pr files. ___ Server-devel mailing list Server-devel@lists.laptop.org http://lists.laptop.org/listinfo/server-devel
Re: G1G1 updates, Lennon video and other vids
At Sat, 27 Dec 2008 14:42:51 -0500, Samuel Klein wrote: Hi, The Lennon video that's been murmured about for weeks has been released. I'm curious to see reactions from the list. I have to agree wtih David on making a dead cerebrity say something he didn't say. And, while the message of Imagine and Lennon have some overlap with the mission of OLPC, but it is not as big as one might think. Looking at Yoko Ono has been saying and doing, she/they are more into new-agey, peseudo-sciencey, and not quite a good message in conjunction with education. I like some of the songs, and I don't oppose to progressive art and their activities, but I feel it awkward if people treat Lennon as a big symbol for practical world changer and not to mention for education.) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [Olpc-open] The 40th Anniversary of the Dynabook event at Computer History Museum
At Thu, 30 Oct 2008 19:12:46 -0700, Edward Cherlin wrote: On Wed, Oct 29, 2008 at 1:45 AM, Yoshiki Ohshima [EMAIL PROTECTED] wrote: At Tue, 28 Oct 2008 14:24:09 -0400, Brian Jordan wrote: Cool! (bump) Yes and thanks. The third panelist has been announced and it is none other than Mary Lou Jepsen. http://www.computerhistory.org/events/index.php?id=1221864610 Are they going to get Doug Engelbart for the panel? No. However, there is an event for him and the demo: http://stanfordtickets.org/tickets/calendar/view.aspx?id=2324 -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [Olpc-open] The 40th Anniversary of the Dynabook event at Computer History Museum
At Tue, 28 Oct 2008 14:24:09 -0400, Brian Jordan wrote: Cool! (bump) Yes and thanks. The third panelist has been announced and it is none other than Mary Lou Jepsen. http://www.computerhistory.org/events/index.php?id=1221864610 It looks like the registration is still open (didn't sound like so many seats are remaining though). -- Yoshiki 2008/9/24 Yoshiki Ohshima [EMAIL PROTECTED]: There will be an interesting event. It is even sponsored by OLPC! http://www.computerhistory.org/events/index.php?id=1221864610 -- Yoshiki -- CHM Presents The 40th Anniversary of the Dynabook SPONSOR Sponsored by One Laptop Per Child Alan Kay, Charles Thacker, and moderated by Steve Hamm, BusinessWeek DATE TIME Wednesday, November 05, 2008 6:00 p.m. Member's Reception - CHM Members only 7:00 p.m. Program Wine for the Member's Reception provided by the Mountain Winery LOCATION 1401 N. Shoreline Boulevard Mountain View, CA 94043 Call 650-810-1005 for information. ABSTRACT OF TALK The roots of personal computers -- that is, machines that are not shared between users -- date back to at least the late 1950s. Within a decade, several more of these one machine, one user computers were developed; and the idea of a user having direct control over the computer was established, at least within academia. In 1968, young computer scientist Alan Kay gave a presentation on the FLEX Machine at a meeting of computer science graduate students and saw the first working versions of a new flat panel plasma display technology. This led to discussions about how nice it would be to (someday) place the FLEX computer itself on the back of such a display to make a notebook-sized computer. A visit a few months later to MIT computer scientist and educator Seymour Papert and to a school with children doing advanced math with Papert's LOGO programming language, produced an epiphany in Kay. He decided to make A Personal Computer For Children Of All Ages. This was to be in the form of a compact notebook using both tablet and keyboard, a flat-screen display, GUI, and the wireless networking that defense funding agency ARPA was starting to experiment with. This idea eventually acquired the name Dynabook as an homage to what the printed book has meant to civilization and learning. It is also a gesture to a future in which not just the content of books will be dynamic, but the relationship of people to computers will itself also change. The founding of Xerox PARC a few years after the Dynabook concept provided support and a context for developing many of these ideas. In fact, the PARC Alto workstation was originally called the interim Dynabook. Many of the results from this research influenced commercial computing, including the bit-mapped screen, high-quality text and graphics, overlapping windows and an icon-based GUI, desktop publishing, object-oriented programming, and many others. Join Steve Hamm of BusinessWeek as he moderates a panel discussion to celebrate this idea that provided metaphor, motivation and inventions for the personal computers of today. This event is generously sponsored by One Laptop Per Child. Panelists: - Alan Kay - Charles Thacker - TBD ___ Olpc-open mailing list [EMAIL PROTECTED] http://lists.laptop.org/listinfo/olpc-open ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Allowing an activity to be launched multiple times in parallel
Technical arguments aside, I thought that people feel the stop/resume model of Activity important to Sugar. If so, I think the stop/resume model does invite the idea of limiting to one instance of activity at a time. Two parallel Write sessions? Then, we might as well consider to switch to the documents and applications model. -- Yoshiki At Wed, 29 Oct 2008 20:23:48 -0400, Benjamin M. Schwartz wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Deepak Saxena wrote: On the XO, if we try to edit two documents concurrently on Write, we should in my opinion only have on instance of write running which can switch quickly between document objects so the user percieves it as two separate instances. I disagree strongly, for several reasons. 1. Bitfrost requires that each instance be isolated from every other. Each instance only has access to the Journal items to which the user has explicitly granted it access. Allowing multiple apparent instances to share data behind the scenes represents a privilege-combining attack. This is especially apparent if one instance has been launched with P_NETWORK but not P_CAMERA, and the other has been launched with the reverse privileges. 2. A key feature of the Sugar Activity system is that writing Activities is _easy_. The goal is to minimize the amount of work required to write an Activity. Asking Activity authors to juggle multiple virtual instances creates tremendous complexity that is likely to produce bugs even when performed by experts (e.g. Browse), for no user-visible gain. 3. Two separate Activity instances already share a great deal, because the Linux kernel automatically uses CoW to keep only one copy of read-only memory needed by multiple processes. Each Write instance uses no CPU when idle, so RAM is the only overhead. As a matter of efficiency, there is certainly more we can do to decrease the memory overhead of running multiple instances. People are working to improve the efficiency of our X icon caching system and python launcher. Even better would be to work on the python interpreter upstream to improve memory usage and reduce the dirtying of pages that could be shared. - --Ben -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkkI/pQACgkQUJT6e6HFtqTCBgCfQg0RDoRC38U1mWmwzQSgfxJe i+AAn1nWN9EyvkYNJGSniZ5xfOxviyRd =Upkp -END PGP SIGNATURE- ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Another Journal Ideas
Thank you, Scott! Yes, what you've described is more-or-less the plan of record: don't store any metadata which can be extracted from the actual content, and use plugins in the indexing service to extract interesting metadata from a variety of real formats. Good. So I wasn't so off. I tried to figure out what your design was like, but from remote and just looking at the slides it wasn't so easy. Reading your reply, only difference (?) is on the UI side; encouraging the activity designers to have the data in the document itself and make it visible. The few bits of metadata which can't be representing in existing document formats (non-path tags, action id, etc) will be stored in xattrs, which are compatible with all modern Unix systems (including Mac OS X). They may be lost during transport to non-XOs, which is why we'll try to minimize the number of these bits as much as possible. This also makes us as robust as possible against indexer failures: we should always be able to rebuild the index using nothing but the information on disk (and possibly taking advantage of better indexers and metadata extractors when we do so). Good. FAT32 formatted USB memory seems that second most used storage, so taking it into account from the beginning (this time) would be good. Non-local search is possible (see part 4 of my journal screencast), but probably not transparently: you will have to select a particular friend whose journal you want to look in. This seems more reasonable (to me, at least) in an environment without perfect connectivity: if you try to search everyone's journal all the time, it's hard to know whether you didn't find any matches for your search because there really weren't any, or if the person who had the matching document wasn't on line. If you explicitly selected the person to search, it can be made a lot more obvious whether or not their journal is available to search at this moment in time. (Where available to search may mean cached on a local schoolserver; it doesn't necessarily have to mean, my friend's XO is turned on and connected to the internet right now.) --scott -- ( http://cscott.net/ ) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Another Journal Ideas
Hello, As pointed out elsewhere, the NLS system had a data storing and sharing mechanism called Journal. It allowed full-text search, versioning, hyperlinking/annotations and sharing among users. http://www.bootstrap.org/augdocs/augment-33076.htm The sharing and searching let people do interesting things; like when somebody stored a document that includes To: DCE in the document somewhere, and if DCE searches for To: DCE, the resulting list automatically became his message inbox, for example. Anyway, that is a bit of historical background (so anybody who thinks the OLPC's journal is a new idea, I have a bit of issue^^:) And there are some requirements/desire for the new system: + Recent discussion goes that some people use full text searching more, and tagging less. And, my observation is that kids are not going to tag documents, if it has to be done in a separated window. Out of Sight, Out of Mind is the proverb. + There is some desire to support legacy applications seemlessly. + And also, there is a need for running Sugar on the other operating systems. These things suggests that the whole concept of metadata may not be a good one. So, here is another simple Journal-like data organization idea. - In the Activity/Application UI, the place for tags, document title, etc. should be readily visible. For example, in a word processor, an empty document contains something like: Creator: yoshiki Title: No Name from the beginning. These fields are just text. The user may fill them at any point, and when the document is saved, these lines are also saved as a part of the same data. (By default. More to come later.) When I was a school kid, that was how I and all other students wrote essays. It is just a blank paper with grids and, I just wrote the name and title in the same way as the main body of the essay. - For a JPEG picture created by Record, the data can be stored in a comment in EXIF. - For an application like Etoys, the data file is actually a zip containing a few files. The metadata can be stored as another fixed named file in the zip. The word processor example can do something like this, too. - Optionally, the programmer of an activity writes a little program that knows how to extract the data. (let us call it a metadata extractor.) - An activity simply stores the data file into a file system location. So, unmodified X application can save data. - The new Journal system calls the metadata accessor to extract the data. Journal can certainly cache it. - Let us say for every week, the Journal can create a new directory for the activity. The data stored in the previous week or time period stays in a directory. So that let you access the old data in a time-indexed manner. So, the advantage of this approach is: - An unmodified application can save and load data from file system. - Any platform can support this. We don't have to rely on the DBus, but also it is not incompatible with the already Sugarized acitivities that can save data via DBus; the backend of Journal stores the file into the proper location. - The application programmer can write a small program and the Journal can extract the metadata for better views. But it is optional; even without the extractor, the system runs fine. - The time-based access can be made fast. A downside is: - It wouldn't be easy to get some kind of metadata like who you worked with. But there can be an API to query it from an activity and the activity can store it in the data. Alternatively, we can still recommend people to do DBus-based access to Journal when possible, and Journal could add it for the activity. Just a thought. I shared this now and then with some people, but it seems to be a good time to brain dump^^; -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Etoys supports the DC input
Hello, It's been available for a while, but I'd like to announce that Etoys running on XO supports the DC input. To try it: - Launch Etoys. - Drag out the Object Catalog from the Tresure Box. - Go to Multimedia category in the Object Catalog. - Drag out WorldStethoscope. - Right click on the instantiated WorldStethoscope and click on the light blue eye icon to open its viewer. - Click on basic category header to get a menu, and choose sound to go to sound category. - Press Start in the WS. Some of the numbers in the viewer start changing. Whisle into the microphone. - Press Menu of WS, and choose add a graph May be pick sonogram. - You can open more than one graph on the same data. Press Menu of WS, and choose add a graph May be pick spectrum. You can see sonogram and spectrum graph (and signal if you open it) at the same time. - Connect a sensor to the jack. Press AC button to switch to DC. - The tiles can be used in the Etoys tile scripting, so kids can make stuff with them. etc., etc. The UI needs one more face lift, but it works ok. If you don't have XO, you can still buy the WorldStethoscope hardware (http://www.academianetwork.co.jp/service/) that converts the sensor output to audio and do effectively the same thing on any computer with a sound input. The version in 764 has a little bug so that it leaves the mic LED on even after quitting Etoys (it is fixed in the latest Joyride). But it is usable. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [sugar] G1G1 Pre-installed Activities Request for Help Testing
BTW, the spreadsheet is at http://spreadsheets.google.com/ccc?key=p_Xhb6KcXLyEViA50CnCaDghl=en So by that metric, Terminal is the best activity. Huh? Yeah. Do these numbers mean anything? What is the point of averaging unrelated numbers? Averaging lines of code score and usability score almost looks like an idea of an innumerate. Teaching kids how to treat these scores properly would be a great lesson. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [sugar] G1G1 Pre-installed Activities Request for Help Testing
At Thu, 25 Sep 2008 14:37:09 -0500, Sameer Verma wrote: On Thu, Sep 25, 2008 at 12:39 PM, Yoshiki Ohshima [EMAIL PROTECTED] wrote: BTW, the spreadsheet is at http://spreadsheets.google.com/ccc?key=p_Xhb6KcXLyEViA50CnCaDghl=en So by that metric, Terminal is the best activity. Huh? Yeah. Do these numbers mean anything? What is the point of averaging unrelated numbers? Averaging lines of code score and usability score almost looks like an idea of an innumerate. The numbers are just fillers. They don't mean anything. The idea is for you guys to fill in numbers based on a metric and not because its popular on the list. Feel free to edit as needed. I still don't get it... Even if people edit the spreadsheet as needed, at what point is it going to start making sense? The question is whether things can be put on one dimentional axis in this way. As you also know, using numbers doesn't necessarily make it unbiased. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: idea for running out of RAM
At Tue, 23 Sep 2008 10:57:36 -0700, Deepak Saxena wrote: On Sep 23 2008, at 03:40, Albert Cahalan was caught saying: Determining the RAM requirement for an activity goes something like the following: awk '/Dirty/{x+=$2} END{print x}' /proc/12345/smaps (after exercising all functionality) I like the idea overall but this part worries me. An activity such as etoys has a lot of functionality. For Etoys, the memory usage grows only when you load a project or instanciate widgets (give or take, when you display a compressed bitmap, it expands automatically and eats more memory, etc.). So, about it will be 30MB and it will stay flat whatever you do. We can reduce the base size, if that is the priority. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Clock activity? Activities about time?
At Mon, 01 Sep 2008 16:38:19 -0400, Chris Ball wrote: Hi Bastien, is there a Sugar activity displaying a simple clock? Yes; search for Clock on http://wiki.laptop.org/go/Activities. What activities can be used to teach things about time? (seconds, minutes, hours, days, weeks, months, years, decades, centuries...) I don't think there is one yet. We could do this in a Pippy example, or in eToys? Last time around, I made this Etoy: http://dev.laptop.org/~yoshiki/etoys/Clock.004.pr The idea behind it was to be able to move hands around, and show the relationship between the values and the angle of hands. http://dev.laptop.org/ticket/5255 -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Scratch localization.
At Wed, 27 Aug 2008 18:54:18 +0200, Bert Freudenberg wrote: Am 27.08.2008 um 18:38 schrieb C. Scott Ananian: Scratch appears to require manual editing of the Scratch.ini file in order to come up in a language other than English. Is there any way I can pass a command-line option in bin/scratch-activity to set the Language preference based on the value of $LANG? I'd prefer that we not have to ship a different Scratch bundle per-country. The Right Way to do it would be using the LocalePlugin, as Etoys does. The Scratch 1.3 version adapted the LocalePlugin and it appears to be working (at least on Windows). So, I think it is getting there. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: P.S. Re: [IAEP] etoys now available in Debian's non-free repository
Continuing with the biological analogy, the folks who want to be able to bootstrap a Squeak/etoys image (starting from 'scratch' without such an image) want literally to be able to make ontogeny recapitulate phylogeny -- not necessarily every time an image starts, possibly not necessarily every time Squeak is 'built' -- but at least with similar frequency and the ease of bootstrapping gcc using a different C compiler. (Like using a turtle egg to hatch a dinosaur ;-) I believe that the question is not whether a system can do it or not. Smalltalk-72 did it, GNU Smalltalk and Scheme 48 do it, and our fonc project is right now taking similar approach. So bootstrapping is possible. However, given the current status, the trade off between having to change the existing system fundamental way and its value is the question. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: etoys now available in Debian's non-free repository
At Thu, 26 Jun 2008 18:47:11 -0700, Edward Cherlin wrote: On Tue, Jun 24, 2008 at 11:04 AM, Albert Cahalan [EMAIL PROTECTED] wrote: I'm glad that Debian didn't break the rules for etoys. You're claiming to be open source, yet you've LOST the source code decades ago. This turns out not to be the case. All of the source code for the parts of Etoys written in Squeak/Smalltalk is in the image. ... is in .sources and .changes and the image holds the compiled results of them and each of these compiled results hold a file offset of the source chunk. The .sources file and .changes file contain all of this code nicely formatted. Yes. The core of Smalltalk, the part not written in Smalltalk, is also available in both source and in binary parts of the usual image. The usual tools for handling all of this are in Smalltalk/Squeak. Nothing prevents you from rewriting them in C, Python, or what you like. Oh, yes. Speaking of which, Dan did a version in Java: http://news.squeak.org/2008/06/21/jsqueak-smalltalk-interpreter-written-in-java/ Now, for the rest of you, let's see what we can produce, to make Albert happy, but more importantly Debian. We have .sources and .changes. Albert and Debian would like to see source for the VM, in the manner of gst, and the binary core of Smalltalk that goes with it. What can we show them, and what would it take to show them the rest? The Squeak system includes code for generating a new version of the virtual machine (VM) on which it runs. It also includes a VM simulator written in itself (Squeak). For this reason, it is easily ported. What's missing? Is there anything in bytecode without Smalltalk source? It doesn't seem so. The primitives like memory management and BitBlockTransfer get translated to C and compiled along with the VM. Is that right? Yes. A sidenote. The repository on squeakvm.org seems is a tree of .c and .h source files and you can compile it by gcc to produce the VM. However, many of these files are not the sources in a strict sense; These .c and .h files are target files from another phase. It is almost the same manner as Scheme48 ships scheme48vm.c. If (only if) somebody claims that Squeak's way of doing is wrong, that person should also claim that Scheme48 should be taken out from Debian. Smalltalk/X [Gitt95] and SPiCE [YaDo95] generate C code from programs using the full range of Smalltalk semantics, including blocks. http://users.ipa.net/~dwighth/squeak/oopsla_squeak.html, Related Work. So apparently we can translate all of the Smalltalk tools for creating code files and rebuilding an image to C source, and we can presumably preserve the original comments from the Smalltalk. I'm not sure what you mean by code files and an image to C source. Since the result was a complete Squeak image with all Smalltalk source code, and C source where needed, is anything else missing? No would be the answer, If I understand your question. The interpreter is structured as a single class that gets translated to C along with the ObjectMemory and BitBlt classes. Is that it? The modern version has basically different set of primitives in different files, but that is it. Is there any reason not to simply check .changes into git? The public version of (so to speak) .changes and .sources are already in the SVN on dev.laptop.org, and it is installed in /usr/share/etoys. Should we have a way to split out changes to specific objects, and write a tool to merge a sequence of such changes into a .changes file? Hm, it appears that this is unnecessary with Monticello and squeakvm.org. Before commiting it, we need to ask why splitting the file adds any value (when the editor can provide such views to the user). As far as I am concerned, you should write any such tools in Smalltalk/Squeak, and offer that source code to anybody who demands a translation to another language. No, I'm wrong, not a problem. We can translate it to C ourselves. There you go. The Squeak-to-C translator is designed specifically to translate the subset of Smalltalk that can be mapped onto C. IOW, you write C code in Smalltalk syntax, and debug it in Smalltalk. For writing interesting tools, you would certainly like to use the full power of Smalltalk language but then it wouldn't be translatable to C. If any such tool is written in Smalltalk, you would give the Smalltalk code to other people. That is source. Translated C program isn't source; it is a target object file that uses characters between 0x00-0x7f. Or set up an instance of Monticello for Etoys versioning and package management. Not Monticello, but this was tried. But the problem is that it just adds unnecessary complexity and gets in the way of *actual* development effort. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: etoys now available in Debian's non-free repository
At Thu, 26 Jun 2008 23:43:45 -0700, Edward Cherlin wrote: I think that the result of all this is that we can produce all of the C (or some other language, maybe CLOS) and Smalltalk source files that Debian wants (even if we think of the C as compiler output, we don't have to bother them with that interpretation.) One of the compilers translates a subset of Smalltalk to C, but I gather that other compilers can translate all of Smalltalk/Squeak/Etoys/what you like to their chosen target language. As I understand it, Debian wants to see a commented set of semi-human-readable code in ASCII files (although we can discuss using Unicode source) together with various multimedia files in known open formats, from all of which an Etoys image can be constructed, and they don't care how we generate them, or what mix of languages we use, as long as there are Free/Open Source compilers and any other needed apparatus for them. As Alan precisely put it (we are dealing with stories, not reality.), this seems to be a backward way to work on this problem. When (if) Debian guys asked something based on wrong understanding, what we should do is not to cater the wrong story, but have them have real understanding. The reality is that the all description of classes and methods are already accessible (even in text files like .sources and .changes) and anyone can see all the code, and modify in the way the core developers do. That is the equal basis we provide to the world. Giving the translated stuff, except the C code for the virtual machine that is needed for bootstraping purpose, is wrong. David, Antoine, and Jonas, thank you for the comments. But let us not take this way anyway. (Still I see some comments that says the source code is in the image but it is absolutely false. In the image, the compiled result of source is stored, and the texual code is always kept outside of the image.) David: breaking out the .source and .changes files that have been referred to in this thread and having the build process create the resulting blob that you use would probably be acceptable (and far more useful as people can then send out patches to those files) We are already sending out textual files called changesets to people. That is the way we work. Jonas: If I understand correctly, the Squeak community accepts patches generated from their binary images. So the real question is, if images built from C sources can generate patches acceptable by the Squeak community. Generate is a wrong word! We write code textually in a text editor (happens to be written in Smalltalk) and save it. Of course the patches (changesets) are valid, we accept them. We won't notice if the changesets are written in Squeak, a image running on different VM, Emacs or vi. It is just text. The only difference is that the effect of accepting (saving) takes effects right away, as it is running in the same session. Just as same as writing Emacs Lisp in Emacs. (Think writing lisp-mode.el in Emacs.) The image contains pre-made objects starting from nil, true, false, etc., to the Compiler and beyond. It also contains pre-loaded artwork and user contents. But all of them can be modified, and accessed fully. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: etoys now available in Debian's non-free repository
Hi, Edward, Thank you (again) for thinking about these things! Well, now I see a reply from Alan. I'll try to concentrate on the pure technical part. I think that the result of all this is that we can produce all of the C (or some other language, maybe CLOS) and Smalltalk source files that Debian wants (even if we think of the C as compiler output, we don't have to bother them with that interpretation.) One of the compilers translates a subset of Smalltalk to C, but I gather that other compilers can translate all of Smalltalk/Squeak/Etoys/what you like to their chosen target language. Now I see that this is unnecessary. We have the directly executable Smalltalk source for the VM, including memory management and graphics primitives written in Smalltalk. It is already in the .sources files. A little correction is that the source for the VM is in a separated package called VMMaker; the etoys image currently doesn't contain it. We can therefore provide all of the source code for Etoys in a conventional file system in the way that users of compiled languages expect. There still seems some misunderstanding, but I can't tell how. The word therefore cannot connect the previous sentense with the one that follows here. .sources (and .changes) contains the all behaviors of objects. and it is in text. I find it useful to meet people half way in such a situation. Well, we don't have to have our code in a conventional file system, but here is how you can fairly trivially create such a file system and rebuild an image, even though we never do this in practice. Well, almost never. Aha! You can do it that way, somebody might need to do it that way, that's what I'm looking for in the first place. So give. Don't tell me I don't need to know. Hmm. I'm not sure what you mean by rebuilding an image. If you mean to do it from the situation there is no .image it would be very hard. For example, the nil object (the sole instance of its class named UndefinedObject) sits at the beginning of the image file. You cannot create the memory words that represents the instance in meaningful manner from text (in the current Squeak way of doing). You can have a big C file that looks like: - unsigned char image[] = {0x12, 0x34, goes to 1 million entries or so}; int main() { FILE *image = fopen(etoys.image, w); fwrite(image, sizeof(image), 1, image); fclose(image); } - And this .c file is all text. This could satisfy Debian people, if they accept some other languages that are bootstrapped. I want to _see_ that fairly trivial script. I want Debian to see it and to be able to run it and examine its output. Once they understand how one can generate source code in the traditional form whenever desired from the real source, and where that real source lives, they may be able to believe in using the code in the image and not bothering with generating a conventional representation. They seem to want proof that we can do something unnecessary but comforting. Well, it shouldn't be any real effort, so why not give them that demonstration? The misunderstanding may lie around what kind of translated C can be compiled and executed. We can have a smaller image that is 1MB or so (can be even smaller but I don't a real point to go for extreme) and file in everything else to build the etoys.image. But I cannot see anywhere that transated code plays any role in the picture. Somebody, somewhere, gave Debian the impression that .sources and .changes do not contain the code for everything. I don't know how this happened. You are almost correct that we don't need to show them the translated stuff. But given the damage that has been done, we now have to show them the entire process from full Smalltalk source to generated code to new image, and the generated C is part of that process, even if not source. They contain all code (plus some history even). They don't contain the instanciated objects. They can contain texutal expressions that creates objects, but the textual expressions have to be compiled by the Compiler object that needs to exist. So let's just show them where all the code is and how to get at it in a way that they already understand, so that they can begin to understand why they don't need to do it that way. I should know who are they. Who here is with Debian? Whom do we have to convince? I dug up an email archive of squeak-dev a few month back and find a name (Thomas Viehmann). David: breaking out the .source and .changes files that have been referred to in this thread and having the build process create the resulting blob that you use would probably be acceptable (and far more useful as people can then send out patches to those files) We are already sending out textual files called changesets to people. That is the way we work. That does not answer the question asked. I still don't understand
Re: etoys now available in Debian's non-free repository
Albert, You'd be all set if you had Smalltalk source code that you could feed into any random Smalltalk system to create your build tools. While I happen to like C, and it's a very popular way to achieve the required ability to bootstrap, it isn't needed. You even get a certain amount of respect from writing the whole thing in Smalltalk. Use GNU Smalltalk. Your view on systems are way too limited. Where did this any random Smalltalk came from? For example, if you write a GUI application in Python, it doesn't mean that it only uses standard Python's features. It certainly is going to use GTK or some other GUI bindings. Then, you cannot feed it to another Python implementation that doesn't have it. Please just don't make up new complaint whenever the old one didn't work. You might even scrape by with Squeak building itself. (not involving copy the currently running image) If you can create a new image from loose UTF-8 text files and standard media files, without any data being swiped from the currently running image, then you've met the requirement. Not to mention that don't make up requirement. http://users.ipa.net/~dwighth/squeak/oopsla_squeak.html That's in interesting read. The trouble is that people make such wrong claims before reading such a basic document. It does admit to depending on a system image from decades ago: Alter the ST-80 SystemTracer to write an image in the new format. no longer needing to port images forward from Apple Smalltalk And? What is the source management system for the Etoys and Squeak VMs? Is _everything_ done in Smalltalk and kept in the image file? Wait, I see it. http://www.squeakvm.org/cgi-bin/viewcvs.cgi/. Albert? That appears to be the OS interface layer. No problem there. Feel free to write that in Smalltalk instead though. Vast majority part in this repository is written in Smalltalk. Please understand the problem before spreading wrong impressions. The really important thing is an ability to generate everything from source. That means you can create a new image without grabbing bits from an existing image. But after seeing my big C file idea: - unsigned char image[] = {0x12, 0x34, goes to 1 million entries or so}; int main() { FILE *image = fopen(etoys.image, w); fwrite(image, sizeof(image), 1, image); fclose(image); } - then you will probably make up new important thing. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: etoys now available in Debian's non-free repository
Albert, Before drifting to a new topic, let me make sure one thing; did you get convinced that FSF's definition of software freedom doesn't contradict with a binary image file with right tools to fully explore/understand/modify it? If not, please explain. If so, I understand that you don't like it, and that is ok with me. In the following, you are discussing my preference part but here goes: At Thu, 26 Jun 2008 02:41:00 -0400, Albert Cahalan wrote: Sure, but I actually can get an independent implementation of an editor for such data -- it doesn't depend on itself. You can edit a file out with your favorite text editor and file it in to the image to do any kind of stuff. A good situation would be that you can build the image from plain text just like GNU Smalltalk does. That could happen on the laptop when the activity starts, or when the activity is created. The next best thing would be to supply a custom editor which is **external** to the image, along with any other tools needed to edit and create the image. It should be possible to start from some standard build tools, feeding in a mix of source code and standard media files, to end up with a set of tools. Note that you could write such tools in Smalltalk if you used GNU Smalltalk, which is able to be bootstrapped. You never explained why these things are good. This solution essentially treats the image like a multimedia file instead of code. (a dump tool is all you have AFAIK; there is no editor that can reliably edit a VM image) We don't exactly treat the image file as code. Image is a snapshot of state of objects. It's also a problem for change tracking, shared development, use of one's favorite editor, code sharing with GNU Smalltalk, etc. You can of course file out and file in textual code and if the code is compatible with GNU Smalltalk, you can share the code. This idea of applying patch collections is disturbing. It reminds me of the terrible mess that Minix was back in 1991, when the license permitted people to share patches but not code with the patches applied. Here you have a technical limit instead of a legal one, but I expect that the result is not much different. No, no. You don't get it. Applying patch happens when building a release image and the resulting image gets into a package to be distributed. It is just the same as compiling an executable binary from source code and distribute the binary. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: etoys now available in Debian's non-free repository
Albert, The very foundation of the Linux development community (which Squeak developers are asking to be accepted by) includes an expectation that software can be handled in certain ways. I don't know if it is *very* foundation, yeah there is an expectation. I know it because I was one of them. But the questions are that what would be the greater benefit for everybody, and whether the exepectation justifies to limit other people's freedom. The technical stuff you wrote below (ah, Bert replied, too) *can* be done (though not common practices) with Etoys/Squeak. How many times you try to spread the same false information, the fact doesn't change. Anyway, you now seem to agree that Etoys qualifies as open source. That is good. and a certain degree of modularity (parts are interchangable across similar projects and versions, allowing distributions to mix and match). Again and again and again, you can just write a method or two internally or externally and send it to your friend or post it to trac, etc. And a person who are using similar versions of Squeak, he can just load it. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
A greater cause (Re: etoys now available in Debian's non-free repository)
Hello, Sorry for causing some email traffic last a few days. We, everybody who are participating the project, including Albert, John, Bert and myself, are working for a greater cause; that is to empower children all over the world via computer technology and education. There are some difference of opinions, but let us not lose the sight of the bigger goal. Etoys is already installed millions of computers, and children all over the world have been using it several years. If we get Etoys to the hands of more children, more children can exchange projects, share ideas, work together, and unite. It doesn't matter whether the computer they use is XO or not because Etoys happens to run everywhere. And, on XO, I heard from people at deployments/pilots often that Etoys is one of the most important activity. So, I think that trying to get Etoys into major Linux distributions serves for the greater cause. Of course, even if Etoys gets in a Linux distribution, not every user/developer has to work on Etoys nor everybody has to understand how it is implemented. For those, it is just several unfamiliar files on their disk and there is absolutely no harm. On the other hand, we would like to get more people to help Etoys development And I can assure you that you can go deeper than any other systems once you dive in. Please join us! Even if your only computer is XO, you can participate as good as the core developers. (If you are good, you can join/take over the core team, in fact.) Also, please think about making a similar/better system in any other languages. Alan Kay gave a keynote speach at Euro Python a few years ago and urged the community to think about it. It seems that a few project got started but it takes years to be somewhat usable. Finally, thank you for everybody who have been involved in the actual process of getting Etoys accepted to these distributions! -- Yoshiki In a sense, Albert, John, Frank and others are kindly playing the devil's adovocate role so that we can write stuff that we usually don't. Thank you guys, too^^; ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [IAEP] fixing etoys
Yoshiki Ohshima wrote: Again, start up time is not a problem. Etoys start up looks a bit slow on XO, but that is because the DBus communication that has to be done. I frequently hear DBus being accused of latency. As badly implemented as it might be, I can't believe a daemon relaying a bunch of bytes over a UNIX domain socket can introduce more than 1ms of lag per message, even on a very slow processor. Has anybody ever analyzed the actual DBus traffic? With timings? How many messages are we talking about? It seems that you are right! I took profile data in Etoys and the DBus part accounts for about 60-70ms on start up. Other 3 seconds are spent on Squeak part and I think I could speed them up a bit. The following two message tallys are taken from two different part of code upon start up. They should cover most of it. Sorry for the false alerm. -- Yoshiki -- - 1761 tallies, 2164 msec. **Tree** 95.3% {2062ms} SystemDictionarysend:toClassesNamedIn:with: |43.2% {935ms} Delay class(Behavior)startUp: | |17.0% {368ms} SecurityManager classstartUp | | |17.0% {368ms} SecurityManagerstartUp | | | 17.0% {368ms} SecurityManagerloadSecurityKeys | | |16.8% {364ms} Object classreadFrom: | | | 10.6% {229ms} Array(Object)isKindOf: | | | 6.2% {134ms} Compiler classevaluate: | | |6.2% {134ms} Compiler classevaluate:for:logged: | | | 6.2% {134ms} Compiler classevaluate:for:notifying:logged: | | |6.2% {134ms} Compilerevaluate:in:to:notifying:ifFail:logged: | | | 6.0% {130ms} Compilertranslate:noPattern:ifFail: | | |6.0% {130ms} Parserparse:class:noPattern:context:notifying:ifFail: | | | 4.7% {102ms} Parserinit:notifying:failBlock: | | |4.7% {102ms} Parser(Scanner)scan: | | | 4.7% {102ms} Parser(Scanner)scanToken | | |4.7% {102ms} Parser(Scanner)xLitQuote | | | 4.7% {102ms} Parser(Scanner)scanToken [4.7% {102ms} Parser(Scanner)xLitQuote [ 2.4% {52ms} Parser(Scanner)scanToken [|2.4% {52ms} Parser(Scanner)xLitQuote [ 2.3% {50ms} Parser(Scanner)scanLitVec [2.3% {50ms} Parser(Scanner)scanToken [ 2.3% {50ms} Parser(Scanner)xLitQuote | |14.2% {307ms} FileDirectory classstartUp | | |9.7% {210ms} FileDirectory classsetDefaultDirectory: | | | |9.4% {203ms} FilePath classpathName: | | | | 9.4% {203ms} FilePath classpathName:isEncoded: | | | |9.4% {203ms} FilePathpathName:isEncoded: | | | | 9.4% {203ms} LanguageEnvironment classdefaultFileNameConverter | | | |9.4% {203ms} SystemDictionaryplatformName | | | | 9.4% {203ms} SystemDictionarygetSystemAttribute: | | | |9.4% {203ms} SystemDictionary(Object)deprecated:block: | | | | 9.4% {203ms} Preferences classshowDeprecationWarnings | | | |9.4% {203ms} Preferences classvalueOfFlag:ifAbsent: | | |3.1% {67ms} SmalltalkImageopenSourceFiles | | | 3.0% {65ms} FileDirectory classopenSources:andChanges:forImage: | | |2.6% {56ms} FileDirectory classopenSources:forImage: | |7.3% {158ms} ExternalSettings classstartUp | | |7.3% {158ms} ExternalSettings classpreferenceDirectory | | | 6.2% {134ms} SmalltalkImagevmPath | | |6.2% {134ms} FilePath classpathName:isEncoded: | | | 6.2% {134ms} FilePathpathName:isEncoded: | | |6.2% {134ms} ByteString(String)convertFromWithConverter: | |3.8% {82ms} Delay classstartUp |34.4% {744ms} WeakArray classstartUp: | |34.4% {744ms} WeakArray classrestartFinalizationProcess | | 34.2% {740ms} Semaphore classforMutualExclusion |13.0% {281ms} AutoStart classstartUp: | |7.4% {160ms} AutoStart classcheckForPluginUpdate | | |7.4% {160ms} PasteUpMorphinstall | | | 6.2% {134ms} PasteUpMorphinstallFlaps | | |4.8% {104ms} ProjectassureFlapIntegrity | | | 4.8% {104ms} IdentityDictionary(Dictionary)removeKey:ifAbsent: | |5.6% {121ms} AutoStart classcheckForUpdates | | 5.6% {121ms} PasteUpMorphinstall | |3.5% {76ms} PasteUpMorphdisplayWorldSafely | | |3.5% {76ms} WorldStatedisplayWorldSafely: | | | 3.5% {76ms} PasteUpMorphdisplayWorld | | |3.5% {76ms} PasteUpMorphprivateOuterDisplayWorld | | | 3.5% {76ms} WorldStatedisplayWorld:submorphs: | | |3.5% {76ms} WorldStatedrawWorld:submorphs:invalidAreasOn: | | | 3.5% {76ms} FormCanvas(Canvas)fullDrawMorph: | | |3.5% {76ms} FormCanvas(Canvas)fullDraw: | | | 3.5% {76ms} SugarNavTab(Morph)fullDrawOn: | | |3.5% {76ms} SugarNavTab(Morph)drawSubmorphsOn: | | | 3.5% {76ms} FormCanvas(Canvas)fullDrawMorph
Re: etoys implementation
Hi, John, My only experience with Squeak/eToys up til now was trying it on the OLPC as a naive user. Poking at objects on the screen with the handles, since that was the only tutorial offered. The way the darn thing saved its workspace in the friggin Journal whenever you tried to quit it reminded me of ancient APL interpreters that contained a jumble of code and data, and Holger's explanation of why it's non-free reinforced that. Of course I have no idea how it's actually implemented inside. (There's apparently no tarball that I could unpack and examine to find out, either; I'd have to learn how to run their GUI just to look at their implementation.) Is this discussion still on whether Etoys can be in Debian? Whether it can or cannot doesn't depend on whether Journal is friggn, the way it saves the workspace content, or the fact that you have to learn how to run (?) the GUI to look at its implementation. The fact that you better to (strictly speaking, you don't have to) use a particular editor is a requirement? (BTW, http://wiki.laptop.org/go/Smalltalk_Development_on_XO might be helpful. Read SqueakV3.sources as EtoysV3.sources in the page, though. http://static.squeak.org/tutorials/BankAccount.html is obsolete, but a classic tutorial.) Lack of some documentation is a problem, but once you know where to click in the GUI, *all* code are nicely hyperlinked together so that reading code and learning it becomes so easy and encouraging. That is why many developers who used to it lose motivation to write getting started documents^^; It is definitely learnable. There are many new (young and old) poeple get interested in Smalltalk all the time and poking around. Papers are published to prestige and not-so-prestige computer science conferences constantly on making deep changes to Smalltalk or making applications, etc. There are companies that are making products. By its nature, it is true that it is much, much easier to get started when you have somebody who already knows it around but it is sometimes hard to find such a person. But let us not derail the discussion. This discssion is not about making you like Etoys/Squeak. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: etoys implementation
John, I separated the real Etoys implementation part from your email. Hopefully it helps to focus on different aspects of discussion. It took some searching, but I found a paper on the design of the guts of Squeak: ftp://st.cs.uiuc.edu/Smalltalk/Squeak/docs/OOPSLA.Squeak.html I don't know if it is still good documentation for the current implementation, but it gives some idea of how Squeak was originally built. At the basic part on how it works, the paper is still valid and good. The performace increased since then quite a bit, and there are other semi-major improvements, but that is ok. Probably you can find a copy of the proceedings (OOPSLA '97) somewhere if you like the paper version. The interpreter was written and maintained in a subset of high-level Squeak (smalltalk) but there's also a translator that translates that interpreter into C, which is then compiled to produce a binary interpreter. Whether it does this dynamically or statically I have no idea. Because it is into C, it is statically done. In the later versions and platform that support loading shared libraries (called plugins) onto the VM, you could write some code for plugin in Squeak, generate C, compile the C code to make a shared library and load it onto the running Squeak session. But that is besides the point. Then there's a separate Compiler that turns Squeak/Smalltalk source code into bytecode objects that the interpreter can run? Yes. The Compiler is written in Squeak and the compiled result of the Compiler itself is in the image. There's another page that purports to talk about how a Squeak image is built, but after explaining how most people never quite feel at home in a Squeak .changes file, it degenerates into details that make no sense to an outsider. The paper definitely serves its intended audience (programming language designers and implementors.) The paper is cited quite often by papers from other language communities. I haven't yet found similar documentation for eToys, which is apparently something built on squeak rather than built in? Where did you find built on vs. built in discussion? It doesn't sound like an important distinction. The Etoys system is a bunch of additional code written in Squeak. There are some deep changes in the base classes of Squeak to support Etoys so it just happen to be distributed as a separated packaged version called Etoys. There is no good documentation (as far as I know) on how Etoys is implemented other than the source. But again, the code is nicely hyperlinked and the live system is there, learning it is possible if you know Squeak. (Etoys is like an application. How many applications you use have good documentation how they are implemented, though?) There's also a warning at http://wiki.squeak.org/squeak that if you want to run eToys, you need to run a different version of Squeak than everybody else. *That* is Etoys. What is wrong with it? -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: etoys implementation
There's also a warning at http://wiki.squeak.org/squeak that if you want to run eToys, you need to run a different version of Squeak than everybody else. *That* is Etoys. What is wrong with it? Just out of curiosity: Exactly how is it different from vanilla squeak? (If there is such a thing at all.) Whichever two images you would like to compare (why not write Squeak?), launch two images and evaluate: Smalltalk condenseSources. or equivalent in them. Each of image will make a .sources file so you get two .sources file. Then, use diff (perhaps you might want to convert CR to LF before that) to see the difference. Is it a different VM, or just a different distribution since it has a different binary blob? The VM is well synchronized with the trunk VM. They were identical a few weeks ago. We now have a few more patches in the OLPC VM branch but it is not significant. The VM is a separeted rpm BTW. Why do you refer it to as binary blob? -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: etoys implementation
At Wed, 25 Jun 2008 19:09:12 -0400, Frank Ch. Eigler wrote: Edward Cherlin [EMAIL PROTECTED] writes: [...] Can gst bring in a .sources file and a .changes file and create a working image? It doesn't have to. It builds gst.im from scratch at every bootstrap. If squeak/etoys did something close to that, many concerns would be pacified. Yes, for GNU Smalltalk, these are not .sources file and .changes file but you can create an image file. BTW, Smalltalk-72 had a text file called ALLDEFS that is the bootstrap file for the entire system. For Smalltalk, bootstraping from a text file is not a new concept. While Dan and others were experimenting different ideas like image, somehow a part of free software community made very rigid by people who only know one way of doing it and now we are having this conversation. For those who are curious, try Smalltalk-72 emulator available here: http://map1.squeakfoundation.org/sm/accountbyid/a6930213-b578-49b1-862e-228cc5ab39e7/package/b98225e0-151d-4508-88fe-483db46f9814/autoversion/1 BTW, As pointed out many times, we are not sticking to Squeak because it is Smalltalk; but because it has Etoys. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [IAEP] etoys now available in Debian's non-free repository
At Tue, 24 Jun 2008 17:12:23 -0400, Frank Ch. Eigler wrote: The gist of the argument is that one can't currently know what's really inside an etoys image, except beyond what it itself tells us, BTW, have you now understood that this was not true? -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [IAEP] etoys now available in Debian's non-free repository
After writing the most of reply here, I found it now largely off-topic (thanks to Frank for understanding!) At Wed, 25 Jun 2008 21:00:24 -0400, Frank Ch. Eigler wrote: Yoshiki Ohshima [EMAIL PROTECTED] writes: The gist of the argument is that one can't currently know what's really inside an etoys image, except beyond what it itself tells us, BTW, do you now agree that this was not true? If you give me an image file and ask me why the word at offset 0x12345 in the file is 0x89ABCDEF?, I can answer that by opening the image file externally with InterpreterSimulator, examine the bits and answer something like this is a second slot of an Array that points to a number object, and the array is pointed to by this, this and ths object., etc. Yes, that sounds much better (from a security/trust point of view) than having to ask the virtual machine itself to introspect. Well, if you understand more about the relationship between InterpreterSimulator and the VM, external or not would not make so much difference. And, the VM is compiled by a foreign system (a C compiler), there cannot be a place to hide something like Tompson's attack. External or not wouldn't be the factor. (And you probably meant that better than asking the image itself.) It stills seems somewhat too low level to enable version control. (Back in the early 90's, when I wrote Smalltalk code for a living (sort of), we ended up having to use external system (teamwork/envy IIRC) to get decent version control and reproducible builds.) Of course, what you would like to version control is the code people write. ENVY and others are designed for that purpose. For doing version control, we could more or less freeze an image to be a base (like our etoys-dev-3.0.image), and make a release image automatically by applying the updates (http://tinlizzie.org/updates/etoys/updates/) and evaluate the do it (ReleaseBuilderSqueakland new prepareReleaseImageForOLPC) from a Makefile (if that makes people happy). The diffs are all in small textual files. As long as you trust the base image, you only have to look at the updates. Now and then, we may want to change the base image. We do something that gave the perception to people that the previous base image is trustable there and that would do. It may be a useful exercise to run this over the whole etoys image to identify those parts that are recompilable from the .source/.changes files, those that represent plain data that could be serialized, and perchance surprise objects whose existence was only known to Alan Kay or Adele Goldberg back in the 80s. :-) I don't know in what sense it is *useful*, but the core image of Spoon (http://netjam.org/projects/spoon/) is 1,337 bytes (and of course every byte is understood). -- Yoshiki (And '80s is wrong time to go back in that sense, and Alan Kay and Adele Goldberg aren't the names to be mentioned in that context.) ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: fixing etoys
At Tue, 24 Jun 2008 14:16:22 -0400, Albert Cahalan wrote: Here are some ideas that might help you fix some of the problems with start-up performance, shut-down performance, open source, and software engineering practices. First, Etoys' start up time is very fast. And shutdown/saving could be very fast if we can save the whole image. What is slow is scanning relevant objects from the image upon saving, due to lack of modularity in the image. You're trying to do a persistant system image on an OS that wasn't really designed for it. If you were on an exotic system with a persistant image (like EROS, KeyKOS, or OS/400), you might be able to cut the power at any time without losing more than a few seconds of work. The key here is that the persistant system image OSes continuously write out changes to disk. They do this atomicly, and in small chunks, rather than overwriting everything at once in a dangerous non-atomic operation. Start with that. Break each object out into a separate file. Your database becomes a directory rather than a big blob file. When an in-memory object changes, you write a copy to a fresh new file on disk. You keep the old on-disk copy around until the new one has been synched. (fsync or sync probably, but be very careful to avoid doing this more than once every few seconds) You may need subdirectories for better performance; it is very unwise to rely on Reiserfs-like performance when having large directories. Saving the Squeak image to disk is not slow. (Back then, Ted Kaehler had a memory system called OOZE for older Smalltalk that does the checkpointing and constant object-grained swapping. ALTO had a memory problem that caused the system crashes once or twice a day without any reasons. OOZE kept people from losing their work except last 30 seconds or so.) On-demand loading is required for start-up performance. Again, start up time is not a problem. Etoys start up looks a bit slow on XO, but that is because the DBus communication that has to be done. Otherwise, all it needs to do is reading a continuous 20MB file into a continuous memory region and scanning the memory once. Inheritance from a read-only image will cut per-instance disk size. On a Debian system, install the read-only image under /usr/share and the per-instance changes somewhere under $HOME. On the XO, the read-only image stays in the activity and the per-instance part goes into the journal. For older XO system software which does not support grouping multiple files into single Journal entries, you'll have to do it yourself with a standard archive format. There are three to choose from: tar, cpio, pax. To make things maintainable outside of the walled garden, store the objects in text form. Make them be like nicely formatted source code. Be permissive in parsing them, and try to preserve any comments that might be added by users with regular text editors. Try to maximize compatibility with GNU Smalltalk. But code and objects are different. Vast majority of incremental changes including object creation and setting preferences are already maintained outside of the walled garden. The latest image is (essentially) just a serial applications of updates available at: http://tinlizzie.org/updates/etoys/updates/ from an early image. If you have bulk data that would not reasonably be editable with a text editor, such as PNG images, then leave that part in binary. To cut down on dirty anonymous pages in memory, and thus greatly improve the situation on low-memory swapless systems like the XO, you could do mmap(...,PROT_WRITE|PROT_READ,MAP_PRIVATE,...) on the binary blobs at startup. This should just be things like PNG images. I don't say there is a problem, such as the problem of modularity, and suggestions similar to yours have been made before. But it seems that you really don't know how it works and what are the real problems. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [IAEP] etoys now available in Debian's non-free repository
After seeing that Jim Gettys and Alan Kay combined failed to convince a guy on a software issue, it is uncertain that how much I can add^^; But here goes: At Wed, 25 Jun 2008 00:04:36 +0200, Bert Freudenberg wrote: Am 24.06.2008 um 23:12 schrieb Frank Ch. Eigler: The gist of the argument is that one can't currently know what's really inside an etoys image, except beyond what it itself tells us, This is indeed a valid concern. As I wrote before, an external tool could be written to examine what exactly is in the image. Yes, and the argument seems to be going as if having these tools externally would make some difference. However, I think that whether it is inside or not doesn't make any real difference. Frank, *all* bits in the binary image file is well-understood. In fact, we can open the binary file from an externally running program (called InterpreterSimulator written in Squeak) and examine every bits in the file. All bytecodes in the image file can be decompiled to human readable text files and that could also be done externally; not exactly that, but I once wrote such a thing. (It was modified InterpreterSimulator; wo it happened to be written in Squeak^^;) You can also compile all code by calling something like: SystemNavigation current allBehaviorsDo: [:cls | cls compileAll]. to make sure that the compiled bytecode in the image reflect the source code text (the code for the compiler included). For knowing what bytecodes do and how fast it runs, many people have been looking at the generated C code and assembly code for the VM to make sure that the VM does the right thing. (I mean many people.) Of course, one cannot prove that something (bad) would ever never happen with any piece of software; Squeak probably has some vulnerability, but we are not talking about vulnerability, but intentionally put malicious code, yes? We can (almost) assure that nobody has spotted any intentionally put malicious code in the image file. And subsequent incremental changes are either in the form of text change set, or some content. A sizable community will make sure that malicious code won't get in. I don't think Squeak's vulnerability is not particularly higher than other language interpreters (it would be somewhat lower than most of other scripting languages, as Squeak has somrestrictions on what you can do with external C libraries.) I can imagine a random analog would be a situation where an email client is compromized and executes the binary in an email it receives. But you wouldn't reject the client because of the vulnerability; rather you would fix it and use it as an example of strength of open-source development, right? -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Unicode for Etoys
At Thu, 19 Jun 2008 12:05:13 -0700, Edward Cherlin wrote: Trac Issue #4011 Put the Pango support for Etoys in place. is marked for Update 2. What is the holdup? This is a blocker for Mongolian Cyrillic, Greek http://www.olpcnews.com/countries/greece/using_xos_in_greece.html, Ethiopian Amharic, any Arabic trials, Dari and Pashto in Afghanistan, and Cambodian Khmer. Issue #4894 Support cyrillic says that the code was fixed but the fonts for Greek and Cyrillic weren't put in the distribution. * milestone changed from Update.1 to Update.2 Oops. The greek and cyrillic fonts aren't actually distributed and loaded ... What is the status? It is making progress again. New patches are pushed to the Etoys update stream, and a patch to the VM is sent around. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [squeak-dev] Re: squeak image sometimes takes very long to be responsive after XO suspend
Tomeu and all, At Fri, 16 May 2008 13:53:16 +0200, Tomeu Vizoso wrote: On Fri, May 16, 2008 at 1:50 PM, Ties Stuij [EMAIL PROTECTED] wrote: Basically when coming out of suspend, the Squeak process takes up lots of cpu power and can be unresponsive for about a minute on build 703 (other builds not yet tested). What about: - launch etoys - check its pid - attach to it with strace -p PID and log the output to a file - suspend - resume - check what etoys is doing in that file Good luck, I'm now looking into this, but this may not be an issue with Etoys. I did strace but don't really see any anomaly. (Saw some interesting things, but.) Suppose I start Pippy and run the Lines example, and press the power button to suspend. The laptop suspends and the power LED blinks. But, here is an interesting happens; if I rub the touch pad quickly, or put my four fingers together on the keyboard (at shift, ctrl, tab and `) and slide them over the keyboard to cause a lot of key input (while the laptop is suspended), the the pattern of power LED blinking changes. The LED stays on for a while and turns to off, and come back to on, etc. If I press the power button while the abnormal LED pattern is going, the button press is often ignored. Or, it wakes up one second or such but goes back to sleep. If these things happen, waking up the unit takes time. Etoys doesn't have to be running. When Etoys is running, but you don't touch the laptop while it is suspended, it doesn't happen (that often). This is on a G1G1 machine, update.1-708 with the firmware that comes with it. I created a track ticket (#7196). -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [squeak-dev] Re: squeak image sometimes takes very long to be responsive after XO suspend
I forgot to mention one thing. So, Ties, you might be already doing this, but one workaround for the problem is to instruct kids not to touch the keys or touchpad when the unit is suspended... -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Video from last week's country meetings.
Please let me know the exact URL you had trouble viewing, and double-check the sizes against the index listing on http://download.laptop.org/content/conf/20080520-country-wkshp/Video/2008-05-20/ to ensure you have the whole file. There are multiple versions of each talk, and it's possible that I goofed encoding some of them, but it's tedious for me to view them all (again!) to figure out which one you might have been having problems with. The source DVD seems to be complete, so I should be able to correct any problems you find. For the Alan's talk, the audio part does go all the way to then end, but in the middle of talk, a USB device detection sound occurs, and a Window explorer covers the screen, and the video part froze there. The page is: http://download.laptop.org/content/conf/20080520-country-wkshp/Video/2008-05-20/13-Beyond-Printing%20(small).html It is hard to explain, but if you just access the above page on a computer, and ignore it 20 minutes and come back, you'll see what is the problem. (During the actual talk, the audience didn't see that problem, so the problem could be at the encoding time and if that was the case, it would be nice to correct it from the orignal recording.) I haven't tried the ogg version. Sorry. On the other hand, I can't help it if the slides for some of the talks are uninformative =). (Actually, I'm already doing what I can, which is trying to get video to supplement the slides.) Perhaps getting Alan's Etoys image for the talk might be good? Thank you! -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
contents (Re: View Source question)
Creating content that is culturally and personally meaningful to children across the world is a huge challenge. The thorny issue of content has also been a subject of debate from the very beginning. The gist of the debate was in regard to the proper balance between OLPC providing content vs countries and 3rd parties taking responsibility vs community content vs providing tools for children and teachers to provide/localize content. We haven't yet done enough along any dimension. Just the framing of the debate itself is probably flawed. It is. (Sorry for the tone in previous emails.) It is almost clear that OLPC is not going to do the contents work but the new organizations would be a good place to do so. Hopefully, the countries should do the curriculum making (teachers' participation would be even better), but since we try to set up a richer learning environment than conventional education, the burden is higher. And, to share/alleviate the burden, some organization should have even more seeds for content that the teachers and educators can grow from and tailor to their needs requirements. In short, it would be more work, and I was wondering what kind of changes was on horizon. I posted a rough description of such a example to the other mailing list, hpoing to get more volunteers to do the similar so that we would have a big repository of examples. Then, teachers can pick and choose and extend some examples and make their own. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: View Source question
So, I'm really not (at this time) interested in peeling layers, or that it's a no-brainer in squeak, or frankly (again at this time) deeper implications or philosophy. The philosophy is interesting and challenging, but I just want to figure out how to implement a feature that the XO was supposed to have. Mainly so that it can be there to show 'hey, we said we'd do this, and we did it'. I didn't mean to contribute any philosophical discussion. All I'm saying is that if you want to say 'hey, we said we'd do this, and we did it', you can write your code in Squeak and that is it. Hit Alt-, or view source key and, say, open - browser, or hit Alt-. and get the dynamic execution context, etc. You can modify the running code on the fly, etc. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: View Source question
Indeed, that is one of the virtues of Squeak. Python was somewhat of a compromise in this respect, but it has the virtual that opens up ready access to most of the rest of the GNU/Linux world. I'm not sure if Python has that edge over Squeak, but probably it does. Alas, this is a feature that, as has already been mentioned, hasn't had enough time and attention yet. It'd be nice to architect what view source means in these different environments to provide a starting point for developers as per the original post in this thread. Yes in one sense. ... But, here I'd like to change the topic a bit (and it would be more suitable for the its.an.education.project mailing list). If there is any real operating system researchers around, they would raise eyebrows when they hear the idea of letting the kids learn Linux as *the* example. Remember the discussion between Linus Torvalds and Andrew Tannenbaum, and Tannenbaum was right about Linux has nothing great in regards to its technology. Linus was great at forming the community by listening people, but its success wasn't about its technology. (There are arguably better systems like OpenBSD. And, it wasn't conceivable to actually do in that short time, an OS-less system would have made more sense for the target system; as you know, Ivan was thinking the possibility of full Python machine.) If we are trying use the OLPC XO as the trojan horse of disseminating a better idea of computer including operating system, it is unfortunate that we needed to use Linux. It is the most practical system to use in the short term, but basically we are using it because it is the de-facto standard. (And people are rather thinking it better because it is not Windows. Strange. Without real education content, neither is good enough.) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [Etoys] squeak image sometimes takes very long to be responsive after XO suspend
Basically when coming out of suspend, the Squeak process takes up lots of cpu power and can be unresponsive for about a minute on build 703 (other builds not yet tested). Hmm. Interestingly, windows VM has similar problem. If you suspend Windows with Squeak running, resuming takes long time, and you have to send a lot of user events by moving mouse a lot. Also we loose sound. Which sometimes comes back after a while. Either on it's own or perhaps because another application is opened. This could be a coincidence though. This is bad, too. I wonder a button that calls: SoundPlayer shutDown. SoundPlayer startUp. and press it when the symptom occurs resets it or not. Especially the unresponsiveness is a problem, because it messes up the classes. Typically a teacher will explain a concept after which the students will do an activity for a short while. After which they will close the XO again to go on with the rest of the course. The XO's can't stay open because they are to distractive and because they eat battery power, and perhaps take up to much space (the benches these children work at are tiny). Having to either wait for the activity, or restart the image (or XO, whatever the child feels comfortable with) kills the flow, and the children get very impatient. This should be fixed, yes. We should try strace'ing Tomeu suggested, and possibly we even should investigated the situation on Windows. Thank you for reporting. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: View Source question
What's the best path for making an activity 'view source' friendly? Reverse engineering from Chat, which is? Some other way? Perhaps you could write it in Squeak. The entire dynamic and static state and environment including source code is readily available for viewing to the user, and you can even make on-the-fly changes. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: very simple datastore reimplementation
and that's it. It's a trivial thing, will work on any fs, on any OS, no magic tricks needed. We can do fast searches on based on the documents metadata, and the only slow op is mounting a device where the documents metadata is stale or missing. I like along this line, too. In fact, Journal can be mostly a smarter version of recent documents feature. That can hide the hierarachical file system, and present documents in the time-based view. On a file system that doesn't support the owner/group permission, an activity could mess up the other activities data; but the user can do it from the command line even for the internal file system more or less. I would imagine that separated metadata can be optional. For Text-type documents (including Etoys), we can as well just make the tags in the document itself. For a picture, it can be EXIF and can have comments, etc. Any file can have comments, and since we are operating some limited kind of files anyway, the Journal can support them one by one. On a related note: tagging the document at a separate place wouldn't work well (http://dev.laptop.org/ticket/6128). This is another reason to make the tags just appear inside documents. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: 15 computer science collegians looking for a project
We are a group of 15 collegians, studying 'Applied Computer Science' at the University of Applied Sciences in Iserlohn (Germany) and we are looking for a project for the OLPC within the scope of our subject Computer-Networks. Our professor (Prof. Martin Hühne) let us choose our own topic, leading us directly to our first problem: What can we do? Are some of you interested in a help system? Depending on the context (i.e., what the user is doing), the help system would access the locally stored help content, or go online and fetch relevant help and show it. Could be coupled with keyword search. Some members can write the retrival mechanism, some others can write the search engine, some others can create contents, etc. Just a thought, -- Yoshiki P.S. To the following, many would oppose, but how about putting a little friendly character on screen so that the user can ask some questions? We toyed with the idea to have two characters that also talk to each other so that the user is not so intimidated. In different incarnation, camera and microphone can be used to determine how much the user is concentrate on the screen, etc. and give different advice. (Well, making a good one along this line would be much more than 3 months work anyway, so don't worry about it, but there may be something along this line.) ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: to be deployed Epaati version is out!
I'm playing with Epaati-10 a bit. Entering Grade2/Math/Unit4/IIM4_2_money identification.011.pr and coming back (the instance of Project did get collected, but the accompanying PasteUpMorph serving as its world along with all objects and players are lingering. Now, I'm (again) looking at the issue so hopefully I get to something... Just a progress report, but the issue is basically around #rootsIncludingPlayers not finding all classes, and the problem is caused by a project that has scripts that reference to an object that was trashed. Namely, - You created object A and object B. - You wrote a script C at object B that refers to object A (This creates the uniclass for B). - You wrote a script D at object A that refers to object B. (This creates the uniclass for A). - You dismissed/trashed object B. - The project was saved. What happens is that to keep the script D running and project working, the system exports the object B into the saved project as well. But because it is trashed, it is not in the world, but referenced from the scripts. Epaati loads such a project, and upon exiting the project, it tries to remove the project. From #okToChangeSilently, #rootsIncludingPlayers is called to find the uniclasses used in the project. But the logic only looks at the objects in the world, and overlook the object B and the B's uniclass. Because B has a script that refers to A, pretty much everything in the project is kept because the world is reachable through A's owner chain. I still think Etoys/Smalltalk is almost suitable for what you are doing, but loading and unloading a lot of project in a session wasn't a typical use case. In a sense Epaati is stretching it. But it is fixable fortunately. One thing we definitely should do is to make #rootsIncludingPlayers better. I can think of a few different ways. One thing you should do is revisit your projects and make sure that every object refered to from the project to live in the project. IIM4_2_money identification.011.pr, for example, has quite a few of such objects. To check these guys, open a workspace in a fresh epaati.image, and evaluate: old := PasteUpMorph allInstances. Then load IIM4_2_money identification.011.pr and come back. In the same workspace evaluate: new := PasteUpMorph allInstances. new := (new copyFrom: old size + 1 to: new size). new := new select: [:e | e knownName = 'page']. and look at the submorphs of these pages bound to new. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: to be deployed Epaati version is out!
And, compiling textual code, including class definition, etc. in the file out part of the project is quite slow. I noticed that some projects have seemingly unnecessary class definitions of Players (I don't know why these are there), and if you can eliminate them in one way or another (you can see it in the that would help. The Football game project has fairly large class. I would suggest to have the class be part of the image so that the project doesn't have to compile the code upon loading. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Auto backlight management?
At Thu, 24 Apr 2008 22:43:53 -0400, John Watlington wrote: Bert misread the spec. When the backlight is switched off, the screen automatically switches to BW mode. Why would you want to take that out of the control of the user ? Did he misread the spec? What you wrote here and what he wrote there: - There is, however, a DCON mode specifically designed for the b/w reflective case, the anti-aliasing can be turned off and a color-to- gray mixing turned on, but again, this is done manually (in the current UI it is coupled to turning off the backlight). - sound like the same thing. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [Community-news] on Sugar
At Wed, 23 Apr 2008 23:47:09 +0200, Hilaire Fernandes wrote: 2008/4/23 Korakurider [EMAIL PROTECTED]: So I am assuming the policy would apply to effort porting activities to windows. But this should make us much slower... Not necessary. Application developed within Squeak/Smalltalk will for most of them do not need any porting effort. Not necessarily, yes. But if they want to have a layer on top of Windows, and require the COM interface and blah-blah-blah, making Squeak play nicely with it wouldn't be too effortless. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [OLPC library] Lieutenant Governor Pat Quinn on HB5000
At Thu, 10 Apr 2008 22:10:45 -0700, Edward Cherlin wrote: On Thu, Apr 10, 2008 at 9:04 PM, Yoshiki Ohshima [EMAIL PROTECTED] wrote: There was been strong Etoys experiment going in Illinois, especially at Columbia College and UIUC. Excellent. Can you point us to some groups or individuals, or published documents, or whatever? The SqueakFest site from last a couple of years would be handy: http://imamp.colum.edu/eceim/squeakfest07/ http://interactive.colum.edu/partners/squeakfest/ Carol Ann Stowe and Valerie Scarlata would be good contacts. http://imamp.colum.edu/eceim/squeakfest07/contact.php For people at UIUC, check out http://squeakcmi.org. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [OLPC library] Lieutenant Governor Pat Quinn on HB5000
There was been strong Etoys experiment going in Illinois, especially at Columbia College and UIUC. I don't know how much olpc-chicago overlaps with that group, but it would be nice to be able to say that we already have been doing the test of (a part of) software long time in the state. -- Yoshiki At Tue, 8 Apr 2008 20:42:36 -0700, Edward Cherlin wrote: On Tue, Apr 8, 2008 at 7:59 PM, Jameson Chema Quinn [EMAIL PROTECTED] wrote: This is fascinating. I would say that the first triaging you should do to make this a reality for September is to reduce the number of grade levels you target to an absolute minimum. More than 3 would be crazy, two is better. This is presently set up to be the choice of the schools or school districts. But we can of course inform them of the resources currently available, and what might become available. Possibilities: 6/7: pros: 2/3 of the students in a junior high, yet you can count on having most of them there for 2 or 3 years. cons: late grade = lots of testing; jealous 8th graders. 3/4 or 4/5 : good ages, but not good saturation. 3/6 : good variety, more logistics. Once you decide this, a lot more will follow. I want to do K-2. The laptop works well for illiterate users. It has a minimum of text and a maximum of icons in the Sugar User Interface, and we will have literacy software built in. I also want to do 3-5, the ages where we know we can have the maximum impact with programming in Smalltalk. We will have to have the whole discussion, and not try to optimize beforehand. Premature optimization is the root of all evil.--Donald Knuth, quoting C. A. R. Hoare Also I had a link for you: http://www.ck12.org/ -- just starting up but has some funding and possibly an inside track to getting more, trying to make open-source textbooks attractive to public schools, worth giving them a call to see if they are interested in (ready to) collaborating with you. Illinois would definitely be a feather in their cap. You need all the help you can get with can get with content. Excellent. They are just up the road from me. I'll go see them right away. Good luck! Jameson On Tue, Apr 8, 2008 at 4:49 PM, Edward Cherlin [EMAIL PROTECTED] wrote: I talked with Ryan Croke of Illinois Lieutenant Governor Pat Quinn's office today. They are keen on this project, and would like to arrange for us to assist in getting the program designed for the best possible outcome. HB5000 is moving rapidly through the House, and will then go to the Senate, which is likely to turn it over to the Education Committee for public hearings. We should organize to bring our XOs and our children to Springfield for the hearings. Among the questions: Schools will be allowed to choose from among the available laptops. The program should capture the differences in outcomes between schools using different hardware and software, using appropriate measures LG Quinn's office agrees. Nicholas Negroponte is strongly opposed to bake-offs, but the world doesn't work the way he wants. We need to work with the legislature, the Education authority, and with schools on appropriate integration of laptops into curricula, and provide at least draft versions of electronic textbooks on all requested subjects. Much of what we want to do has yet to be designed. In fact, the software that we want to build the textbooks on has in some major cases yet to be designed. How much can we promise for the start of the next school year in September? That depends very strongly on who steps up to do it. It is very important in pilot projects to do good experimental design before hand so that the results contain usable information, not merely data. We need to talk to people who know something about these issues, who also understand what we are trying to measure. What training can be put together for the summer before? We need to demonstrate the meaning and value of learning by doing through collaborative discovery, aka Constructionism. Then we need to provide the toolkit for teachers to apply it, and provide feedback mechanisms so that their experience and insights steadily improve the process. This program requires dedicated resources, and management, on our side and several others. That means that we need to look for funding. Anybody know a good grant writer? No Child Left Behind creates perverse incentives that can interfere with the program. Can we get waivers from the Federal Government for the trials? -- Edward Cherlin End Poverty at a Profit by teaching children business http://www.EarthTreasury.org/ The best way to predict the future is to invent it.--Alan Kay ___ Library mailing list [EMAIL PROTECTED] http://lists.laptop.org/listinfo/library
Re: Open Simulator with Physics Engine
It is not something done with a physics engine, but there are a few particle systems written in Etoys. For example, if you launch Etoys, click on Gallery of Projects, and click on the thumbnail third from the left in the bottom row. It is an ideal gas simulation (in 2D). You can modify the parameters like pressure (called gravity because the green top wall is falling down all the time), and turtleCount that controls the number of gas molecules. But also you can modify the actual simulation code while the simulation is running, change stuff in the script called oneStep, or perhaps you can assign different values to the speed variables to these molecules' own variables, etc., etc. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: How to create a new MIME type for a Sugar activity?
At Mon, 11 Feb 2008 17:35:59 +, Martin Dengler wrote: Is there a possibility to make a distinction between ability to handle and claims [as the default handler]? As an outsider / random developer, I understand why Etoys should declare it can handle, say, text/html, but I don't understand why Etoys should be the default handler for text/html. It seems that the infrastructure for it is already in place: http://dev.laptop.org/ticket/6145 The (similar) issue is lingering some months: http://dev.laptop.org/ticket/2535 http://dev.laptop.org/ticket/3273 For text/html, Etoys doesn't have to be the default... -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: How to create a new MIME type for a Sugar activity?
Albert, The MIME type of application/zip works, but Etoys is using that one too. Whatever you invent, Etoys will claim it in the next release. It does not matter if Etoys has any ability to handle the data. No. If it is something that somebody invent for their app, we don't have to do that (unless it makes sense). I'm half serious too, as is clear to anybody who has looked at the list of MIME types claimed by Etoys and tried them. Almost none make sense. It's like some kind of land grab. The last one you brought up, MIDI, was left behind with the Journal integration effort but now it is fixed, BTW... -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: How to create a new MIME type for a Sugar activity?
Hello, 1). The Etoys activity does not try to open the file, at all, ever. EToys takes a long time to start up and shut down and it is really annoying when I open the file with EToys instead of my own activity. For for the record, Etoys doesn't take a long time to start up. It is the fastest activity to start up. The shut down time can be optimized in a lossy way that we might take after all. (And, if you hold the stop button for a second, you get a delayed menu. From there you can say quit without save.) 2). My Activity *does* open the file. 3). The Zip files containing images show up in the Journal with my own Activity's icon, which looks like a slide projector. To accomplish this I have created my Zip files with the extension .slides and I'd like to be able to use the MIME type application/slides for such files. I'm also interested in creating a reader program for Gutenberg etexts. I'd like these files to have their own MIME type too so they don't get opened by the Write activity by mistake. I was thinking of using a file suffix of .book and a MIME type of text/book for these. I tried using a mimetypes.xml file in the bundle but that didn't work. I couldn't find an example of an Activity that used such a file so I'm not certain I'm doing it correctly. I'd appreciate any information on MIME types or on alternative approaches that would solve problems 1-3. Thanks much, Etoys is probably the good example^^; Looking into the tree for Etoys (http://dev.laptop.org/git?p=projects/etoys;a=summary), etoys.xml which will be installed to /usr/share/mime/packages by Makefile(.in) and activity.info(.in) that lists the accepted types. Of course, if you write your slide show in Etoys, that would be a lot faster (and easier for some people)... Hope this helps, -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Activity hosting application: Time
Hi, Jason, My point is that to get kids understand the sense of time, the programmer doesn't have to build a single the game; like what you have on the wiki page, in a game, a kids walks up to the blackboard and write something. There, if the activity has simple yet flexible interaction, they can make more games. So, the good focus for a programmer would be to provide such a interface. but how one would go about providing that interface? How would one like you, right? Think and experiment, I would say. One idea is to make an active essay on it. There are bunch of active essays on the net (google active essay). An explanation in text written in one place with interactive elements on the side. On computer, that is a powerful technique of explain something. I wouldn't count on it that much (you know how China deals with timezones, and how summer is like in high-latitute places, right?). We were looking for a way to change the position of the sun based on the longitude and latitude and time of year(xearth seemed promising). I'm actually not sure how china deals with time zones, but as long as the laptop's system time is correct, I don't think that should be a problem. It is up to you, of course, but I would try to find a simpler solution. Historically, the position of the sun was used in the definition time; however, as more variables put into the concept, it now is more artificial. Verbal explanation is unavoidable for artificial concepts. Ah, but stuff like 60 seconds is 1 minute, 60 minutes is 1 hour, 24 hours is a day, but the face only has 12 numbers, etc. are not that discoverable. Hopefully that would be something they would notice with moving the clock hands and seeing the digital clock change to 59 seconds/minutes before 00. I thought you were suggesting that we need some explanation? Letting people notice something is not usually easy. Kids and adult can be easily superstitious when seeing some phenomena without explanation. (We say that modern science was invented only 400 years ago in the human history of hundreds of thousands of years. Carefully observing something requires a lot of preparation and training.) When I attended a conference in Chicago, a presenter from UIUC gave a talk. In the talk, she showed a blank map of Illinois and started with a remark: Welcome to Chicago! But do you know that, outside Chicago, there is a larger area called Illinois? For an outsider like me, Illinois is one thing so I thought you might know her.^^; I see your point, but seeing as cooperation in the olpc project started with the new year, I don't have any connections outside of the IMSA chapter. There wasn't really a point here; it was rather just a joke (shall I explain what is funny about the joke? ^^;) Sorry for making random guess. Again, the above is just my suggestions. but don't be shy about doing different stuff. My boss often tells me that Most of ideas are bad. The trick is to abandon bad ideas quickly. (Not that your ideas are bad, but better ones may be floating around.) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Activity hosting application: Time
Hi, Jason, Translating the 12 hour to 24 hour notation of the submission to whichever the other player is using shouldn't be a problem. Also the game isn't time zone dependent. Translating these isn't a big problem technically, yes. Again, I was just thinking that that wouldn't be the kick-ass feature for an educational clock activity. (When I attended a conference in France, the organizer wrote 20h30 on the blackboard and said the night session begins at twenty-thirty. Some in the audience reponded: And, what time is it exactly?) Do you envision that these two kids connect to each other when they don't understand what the other's language and find a good time of the day when they can connect, and discuss about an artificial and abstract concept like time? True, perhaps discussions would be less helpful, but I think the time game is still something that would help. My point is that to get kids understand the sense of time, the programmer doesn't have to build a single the game; like what you have on the wiki page, in a game, a kids walks up to the blackboard and write something. There, if the activity has simple yet flexible interaction, they can make more games. So, the good focus for a programmer would be to provide such a interface. I think the natural time clock should be close enough to the actual appearance outside so that the children will connect the ideas. I wouldn't count on it that much (you know how China deals with timezones, and how summer is like in high-latitute places, right?). It would be nice there is *also* an abstract form of explanation. Also, the clock can be updated to the time it is right now. Thus in that way it should be its own explanation. Ah, but stuff like 60 seconds is 1 minute, 60 minutes is 1 hour, 24 hours is a day, but the face only has 12 numbers, etc. are not that discoverable. It appears that you are a high-school student... That is really great! Please don't take above as discouragement. I'm really trying to encourage people who are trying to make educational activity (as you know, there aren't many for XO.) It is really valuable to see that somebody (who is young and close to the target age group!) think about making activity. I am a senior at IMSA, and am aware of the development process, so I know your comments aren't discouragement. Thanks! Do you know Kathleen Harness? Should I? Well, she is helping Etoys activity contents development, and her group at http://www.squeakcmi.org/index.php is for example hosting an OLPC meeting (as on the web). Also, she was on a local newspaper recently. When I attended a conference in Chicago, a presenter from UIUC gave a talk. In the talk, she showed a blank map of Illinois and started with a remark: Welcome to Chicago! But do you know that, outside Chicago, there is a larger area called Illinois? For an outsider like me, Illinois is one thing so I thought you might know her.^^; -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Activity hosting application: Time
At Thu, 31 Jan 2008 18:16:04 -0600, Jason Rock wrote: 1. Project name : Time Sounds good! 5. URLs of similar projects : None that I know of You might have looked at Clock and concluded that these are substantially different, but you know the Clock activity, right? (It doesn't matter, but just to make sure.) I filed a ticket sometime ago (http://dev.laptop.org/ticket/5255). I sure wish something like this will be incorporated. Another ticket that seems to inspire you (http://dev.laptop.org/ticket/2778) discusses timezones and collaboration. But I'd say that these are secondary issue. Who believes that it is worth to pay the effort to have kids in Nigeria and Brazil look at each other's clock and discuss something (Could they discuss something worthwhile?) If you can move hands at will, that would be much better. Actually, I'd say that adding the built-in game would be secondary as well. If kids can interact with the clock in very easy and simple way, they sure will invent their own games; such as puzzles, timer, etc., etc. (not everything may not be on the laptop, but that is ok). -- Yoshiki Yes, that reminds me of the idea of scriptable clock; http://dev.laptop.org/~yoshiki/etoys/Clock.004.pr It would be nice if kids make their own Clock to understand it better. ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Activity hosting application: Time
Hi, Jason, I filed a ticket sometime ago (http://dev.laptop.org/ticket/5255). I sure wish something like this will be incorporated. I think this should be covered in the dragability of each individual hand. Very good! Another ticket that seems to inspire you (http://dev.laptop.org/ticket/2778) This was the main basis for the project, and we believe we addressed all the issues raised in the comments. Some say that designing is completed when nothing cannot be removed. In other words, trying to address all the issues raised by random people is not always a good idea. (It includes the issues raised by me as well!) discusses timezones and collaboration. But I'd say that these are secondary issue. Who believes that it is worth to pay the effort to have kids in Nigeria and Brazil look at each other's clock and discuss something (Could they discuss something worthwhile?) If you can move hands at will, that would be much better. The time game would allow for collaboration, and also for (perhaps) meaningful discussions between two children I was talking more about practical issues like the language difference and (yes) time difference, 12 hours vs. 24 hours notation difference, etc. As you wrote below, kids won't discover these concepts by their own. Do you envision that these two kids connect to each other when they don't understand what the other's language and find a good time of the day when they can connect, and discuss about an artificial and abstract concept like time? As a child you can't understand time(in the form of a clock) until it is explained to you. Which is where this activity will (hopefully) come in. I wasn't saying that kids can make stuff before understanding it. There needs to be good guidance that leads them to the deeper understanding. (For some more background, refer to some discussion around http://squeakland.org/pipermail/squeakland/2007-August/003719.html and hopefully the video linked from the email.) You wrote that your Time activity have analog, digital and natural display of time but with these, you have to explain it to kids. What kind of supporting material do you think is needed? Can the explanation be on the laptop as well? Can it be interactive? Can the explanation and the real thing be seen on the same screen at the same time? It appears that you are a high-school student... That is really great! Please don't take above as discouragement. I'm really trying to encourage people who are trying to make educational activity (as you know, there aren't many for XO.) It is really valuable to see that somebody (who is young and close to the target age group!) think about making activity. -- Yoshiki Do you know Kathleen Harness? ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [sugar] Using Matplotlib in Measure Activity
At Thu, 31 Jan 2008 12:38:01 -0500, Benjamin M. Schwartz wrote: On Thu, 2008-01-31 at 01:32 -0500, Arjun Sarwal wrote: For some time I have been thinking about extending the functionality of Measure Activity into a tool that also allows for graphical analysis of data acquired not just from sensors/mic but data acquired from any source. (1) A standard format for data sets. (2) To allow for a variety of multiple views, representations and basically allowing more control over the way data is represented What you are describing is precisely the plotter component of any standard spreadsheet. In my experience, plotting data is by far the most common use of spreadsheets by children. I would welcome such an Activity, and indeed, there is an effort to provide a spreadsheet for OLPC. I do not think is makes sense to merge measurement of signals with data analysis. I would suggest that Measure Signals and Process Data should be separate activities, with an easy Keep-Resume path between them. Really? What happens if a kid want to see real-time data in different way(s)? If there is an oscilloscope that is only able to show data from 10 seconds ago or such, it would be useless. Let us say we write an equivalent thing of Measure in Etoys. Then, kids can make their own graphing tool interactively. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Classroom tools
At Tue, 15 Jan 2008 14:11:40 -0800, Edward Cherlin wrote: At the schoolroom level, the difference is between knowing rules for manipulating variables, and understanding what a variable is. (Basically, a variable name is a pronoun that can refer to a different number each time it is used.) Caleb Gattegno was particularly good at inducing understanding of arithmetic and elementary algebra using Cuisenaire rods. Everybody involved in XO software and content should read his work. In fact, a Cuisenaire rod activity would be brilliant. Yes. In fact, the idea of making the numbers viewable as rods and making them addable in Etoys has been popping on and off quite while. Scott Wallace even has an experimental implementation. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Classroom tools
One way or another is what I wrote, and letting them cut papers and weigh is a great idea, I think. As you wrote, it is important to have teachers understand, or able to help, impotant ideas. And assembling a repository of what are impotant ideas and techiniques to teach them would be essential addition to the current OLPC effort. -- Yoshiki At Tue, 15 Jan 2008 00:13:58 -0800, Edward Cherlin wrote: On Jan 14, 2008 10:06 PM, Yoshiki Ohshima [EMAIL PROTECTED] wrote: But let me say one more thing. Making use of constructionism theory doesn't means the unnecessity of the teachers, but the role of the teachers changes. Yes, I think tools for supporting teacher who want to do the traditional style of teaching is eventually necessary. And, even in Learning learning, many subjects that are invented are not discoverable by kids' own. (Alan Kay said Children are not going to invent calculus.) a kid should be helped by teacher(s) in one way or another to learn powerful ideas. Alan Kay has examples of children discovering parts of calculus with some assistance. It is important that teachers know about the really important ideas, and about how to introduce children to them without thinking that they can simply teach it in language. I started working on a Kindergarten Calculus idea a while ago. Show the children that you can put a straightedge against any shape to get the direction of that shape at that point. Ask why the straightedge is level at the top or bottom. Assist them to find the third case in which the tangent can be level. That's the essence of differential calculus. The rest is deriving formulas and doing calculations. Similarly for integral calculus. Draw a figure on paper, cut it out and weigh it. Now, how can you help children to discover that these two operations are inverses? That's the Fundamental Theorem of Calculus. (I have a solution, but I am sure that there are others.) Given that we can teach understanding of the fundamental ideas in Kindergarten, we have the opportunity to rethink at what ages the rest can be brought in. Traditional thinking is that you can't start until the students are capable of understanding all of the subject. This is very close to complete nonsense. Weapons-grade bolonium, in fact. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel -- Edward Cherlin End Poverty at a Profit by teaching children business http://www.EarthTreasury.org/ The best way to predict the future is to invent it.--Alan Kay ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Give One Get One laptop for software development
Jake, How do you swap out the window manager? I missed the question earlier, sorry. The simplest thing is to edit /usr/bin/olpc-session. The last line of it reads currently: exec /usr/bin/sugar You can change it so that: #exec /usr/bin/sugar twm exec xterm Then alt-ctrl-erase to restart the X session. If frees up 80MB or such. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Give One Get One laptop for software development
Edward, a. There isn't enough room for the RPM on the base 1 GB hard drive. This, and what you wrote to the Ruby mailing list makes me think that there is some differerence between your environment and a typical installment on XO. A clean installation of later Update.1 gives me about 65% free space. your emulation environment doesn't take the compression of jffs2 into account, or you have something else installed? -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Conway's Life activity
That reminds me of a version in Etoys. http://dev.laptop.org/~yoshiki/etoys/LifeGame.006.pr The nice thing about Etoys version is that you can edit the rule dynamically by drag-and-drop while the simulation is running. You can just try what-if simualtions whenever you like. On some installations, it may run very slowly; a plugin for accerating the particle system is missing in the VM. Try it after we resolve the issue. One can think to write a graphical DSL for specifying CA rules in Etoys. That would be a fun project for hackers... -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Conway's Life activity
Hi, Ross, I think it would be neat to have a dedicated activity for it, with the ability to save interesting patterns in the journal, and so forth. I'm not sure if a dedicated activity is neater or not (I know people who would say yes), but it is surely possible with the Etoys version to save interesting patterns in the Journal. Different rules, different ways to make the initial state different colors, more variables, more states, etc., etc., can be all packaged in a Journal entry. The logic to count the neighboring on-cells is end-user accessible, and it is packaged as well so that the user can even change that. (After all, I just wrote it while I was waiting for an appointment at a clinic. That means anybody can just do it if you have an XO.) You could write a script so that the you paint the picture of an initial state and set it. I was planning to put in a rule-editing system not unlike Autocell: http://www.topshareware.com/Cellular-Automata-download-9567.htm (I couldn't find any pages about it, just the download link. Fairly old Windows program.) Could you elaborate the rule-editing system of Autocell at any chance (over the holidays^^;)? I thought a rule-editting system in which you can specify the before and after state visually is nice, and also the concise description people use would be also nice for different audience. But of course there will be much more different ways, I'm sure. Thank you! -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Give One Get One laptop for software development
Danilo, I'm a student at State University of Campinas, Brazil. I'm researching efficient implementation of Elliptic Curve Cryptography in constrained environments. I'm working with an ARM XScale PXA270 platform but would like also to work with a x86-based constrained platform. I think the OLPC laptop is an interesting option for many reasons. I'd like to know if one of those laptops of the Give One Get One program are suitable for software development? I guess so, but would like to be sure. Do I need any special hardware or cable to connect to the OLPC laptop from my desktop? A telnet or SSH connection is all I need. It highly depends on what you want to develop and how. From what you described, you are not interested in developing software for for Sugar. If so, you can certainly replace the window manager to, say, twm and start a terminal emulator to use the X Window System in somewhat more conventional way. The size of your program won't be too large, so GCC should be fine to compile your software with the memory XO have. You can of course compile your software on another computer and copy to run. I want real timings, so I think an emulated solution would not be suitable. It sounds like you will want/need to do some assembly language programming. Geode LX has some features to generate random number sequences (and AES accelarator). I thought it has some statistic counter stuff, but don't know how to use it (or I don't know what it is, in fact). As others wrote, the XO keyboard is not great... But I'd say with some training, it is not unusable. So it is conceivable to do the whole development on XO. (What are the many reasons that makes it an interesting option for you?) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [Etoys] Smalltalk development on XO
Karl, Any comments are welcome. Thank you! Looks really good. I noticed a few issues with the code representation. Maybe add a link to http://squeakbyexample.org/ Oh, I meant to say any comments and corrections are welcome. Please edit and fix! -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Voice IM project proposal
Just as a reminder, there is push-to-talk already built into EToys, though I haven't tried it for awhile--it certainly used to work just fine. Ah, yes. I remember that now. We are not exactly happy with the UI and the push-to-talk nature and unoptimized long latency, but it still seems to work nicely on later Joyride builds. To try it: * Put two XOs on the same mesh so that they can see each other in the neighborhood view. * Start Etoys on one of them (let us say this is machine A.) * You probably want to dive in to a new project by clicking the top cloud on machine A. * from the menu bar at the top, press the share button (circle with a dot) and choose My Neighborhood on machine A. * a few seconds later, the shooting star icon is visible on machine B's neighborhood view. * On machine B, click on the shooting star in the neighborhood view. This will connect these two instances. (Just a normal way for any activity on XO.) * If the sharing works properly, you will see a badge on each machine. Click on yellow A button on each. * You'll get an obscure, small UI. There are three checkboxes. Check the right most box on each machine. * Hold the button labeled Talk on machine A (or B), talk to the microphone, and release the button. You'll hear the voice on the other. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Official signed ship.2 candidate 650
Official signed images for build 650 are now at: http://download.laptop.org/xo-1/os/official/650/jffs2/ You can also use: olpc-update 650 From what version should I try this? Naturally my B4s are loaded with 135x. Should I install (signed?) 648 and Q2D05 first? -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Status of Develop.activity?
The old 8-bit computer BASIC editors often would simply refuse to let you enter bad syntax. The language was also quite easy. Sorry to all the LISP fans out there, but 220 GOTO 200 is really easy for kids to understand. The XO is sorely lacking in something so easy to use. The other stuff (Python, Smalltalk, Java, etc.) is really hard compared to BASIC. Well, if one were trying to discourage kids, then the modern stuff would be perfect for that. I have to admit that VB development is very easy to start with. Things would be really different if kids could draw an activity, click on objects to add bits of BASIC, and then click to spit out a *.xo that is fully functional. The sweet spot of these versions of BASIC with line numbers is around 20-100 lines of programs, and you wouldn't do too much of object-oriented GUI programming, etc., etc in it. It is still ok for writing and learning simple programs, but writing a useful .xo in it would be something I wouldn't recommend. Nerds had written 10s of thousands of lines of code, but you wouldn't recommend that in the 21st century, right? (Of course I don't agree that Smalltalk is really hard compared to BASIC, but that is different story.) (No, that Etoys thing again!?) And, you can readily do syntax- and namespace-aware interactive editing of Smalltalk in Etoys/Squeak on XO, and make an executable with full multimedia capability and everything on XO for XO, basically. (There is a missing piece to make the actual .xo file from Etoys project. Bert did the proof of concept work and we would need to make it accessible to people). You can even do the RAD style programming, BTW. Finally we have the problem of NO systems programming language being supplied. It's less than 9 MB for the whole C development environment, including a decent collection of *-devel packages. You even get a second language thrown in for free, x86 assembly. Pretty much everything that matters is written in C, including the Python interpreter. That was your point in November as well: http://lists.laptop.org/pipermail/devel/2007-November/007947.html but there are two responses to that post. (About the actual size and also the runtime memory requirement.) Did you look at them? This I like to hear. Eating one's own dog food is very good. Yes. I like it, too. I could do virtually all my development work for Etoys on XO without compromizing too much (just the keyboard with harder to use shift keys and a bit of sluggishness.). Note that non-activity developers need to put aside some RAM for the activities. (sugar developers, I'm looking at you!) Booting with mem=128m ought to do the job. In less than a year, the system memory usage has more than doubled. I hear that people are actually doing development on workstations with lots of RAM and fast CPUs, and it shows. I share the same feeling here. 128MB is pretty big chunk of memory. I went to Cambridge several times in last two years and observed that the designers were making UI mockups on a faster computer in Adobe Illustrator and Photoshop. The visual appearances were indeed pretty good for the first glance, but also that seemed like a recipe for making bloated UI for a slow computer. I wish the design work would have been done on slower computers. In that way, you can get better guess on the actual performance, the memory usage. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Signed 648 (ship.2 release candidate)
Hi, Kim, To start, I think it will be great to be on the olpc irc channel. We can also start an olpc-support channel and there are some people working on a 'community-support' mailing list (please sign up if you like). I signed up the mailing list. But the IRC is not what the Chat activity on the XO uses, right? As we get more organized we'll post other ways that people can help to answer questions and provide support. Great! Thanks for asking! Well, I know I'm asking for trouble. But at the same time I'm curious to see. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Signed 648 (ship.2 release candidate)
Thank you, Morgan, I just imagined that having the ask expert key, (a la view source key) would be handy and the familiar tool (i.e., the Chat) can be used to ask the people with proper background... Just 0.03 USD. -- Yoshiki At Tue, 04 Dec 2007 10:32:08 +0200, Morgan Collett wrote: Yoshiki Ohshima wrote: I signed up the mailing list. But the IRC is not what the Chat activity on the XO uses, right? No, Chat is based on Jabber. (It uses PS's chat rooms, not 1-1 IM, and the rooms for activities are obscurely named as they use the activity ID in the JID, so while it is possible to use a desktop jabber client to talk to a Chat instance, it's not easy...) There is an IRC Activity (http://wiki.laptop.org/go/XoIRC) although I don't know whether it will be included by default. Since Telepathy has an IRC connection manager, we should investigate using that on the XO... Morgan ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Signed 648 (ship.2 release candidate)
Hello, I don't know the plan of any sort, but presumably there will be the users of XO through G1G1 in the US and Canada (and other places) very soon. Is there any a jabber server (say) for them, or a forum, mailing lists of sort that they are going to be directed? Would a developer with B4 be able to look at it or participate it and see how software working for them (and possibly trouble shoot)? -- Yoshiki At Sat, 1 Dec 2007 13:47:58 -0500, Kim Quirk wrote: [1.1 text/plain; ISO-8859-1 (7bit)] [1.2 text/html; ISO-8859-1 (7bit)] Yes! If you have a 'secure' machine running 649 (ship2 release) you will be able to open the browser; click on other on the left hand side, then on about your xo. This will bring you to a tour of the laptop. Scroll all the way to the bottom to find the link apply for a developer key. We just got the link in there at the last minute, so it might move to a more prominent position in the future. Regards, Kim On Dec 1, 2007 1:39 PM, Gerard J. Cerchio [EMAIL PROTECTED] wrote: Alexander M. Latham wrote: --- Yoshiki Ohshima wrote: Great! but sorry for my ignorance but what a signed copy means? Shall we test it on our (B4) laptops? Or it'll make it hard for future update? http://xs-dev.laptop.org/~cscott/olpc/streams/ship.2/build648/devel_jffs2/ is the same thing but unsigned? -- Yoshiki --- end of quote --- Signed means that it will work on a write protected machine. If you're laptop is not write protected, the unsigned version will work exactly the same. - AlexL ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel Is it going to be possible to unlock a G1G1 for development? ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Active activities as Widgets
Gerard, I am properly admonished and shall hold my performance speculations until my machines arrive. I just wanted to mention that it is not conceivable. (I even took a picture but forgot to put a link: http://dev.laptop.org/~yoshiki/pictures/pict0425.jpg ) The performance is probably a less-challenging issue. Giving flexibility to developers and users while proctecting an activity from others is another thing. I thought using another activity as a library in yours in the same address space was something the security people would like to avoid. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Signed 648 (ship.2 release candidate)
A signed copy of build 648, which is our ship.2 release candidate, is now at: http://download.laptop.org/xo-1/os/official/648/jffs2/ This build contains firmware q2d05, available separately at: http://dev.laptop.org/pub/firmware/q2d05/ Great! but sorry for my ignorance but what a signed copy means? Shall we test it on our (B4) laptops? Or it'll make it hard for future update? http://xs-dev.laptop.org/~cscott/olpc/streams/ship.2/build648/devel_jffs2/ is the same thing but unsigned? -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
clean installation of 643.
I tried to do clean install of 643 and it failed. Actually, it worked for the first time. Then, I realized that I forgot to put Q2D05 firmware on my USB memory. So I put the .rom file and tried the clean installation again. Then during the boot process I got: -- Restoring from backup tar: Short read Traceback (most recent call last): File /init, line 110, in module backup_or_restore() File /init, line 87, in backup_or_restore do_restore() File /init, line 77, in do_restore safe_sh(tar -xz -f + backup_file + -C /restore) File /initutil.py, line 26, in safe_sh raise RuntimeError(Command exited with non-zero exit status.) -- -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: kids cannot participate (was Re: WSJ)
And, I see that one of the biggest downside of our software is that kids cannot participate the software development effort from their laptops (except...). If we are to look at different platforms, it is nice to think about easy support of on-laptop-development. I don't care if it is on Windows or Mac OS; on top of Windows (or Mac OS), you as an end-user can still do a lot. (Basically the same argument in filtered Internet access is better than no Internet access.) The fix is simple. Cool. At bare minimum, the build process should ensure that all the various *-devel RPMs can be installed. Right now they do not all install. I'm unable to get SDL-Pango and librsvg. Just a few days ago we were missing libX11 and even gcc itself. Note that a **very** complete development environment is only 9 MB. That includes the C compiler, all the standard header files, and even the odds and ends like libSDL. Wow. That is almost too good to believe. I did install gcc while ago (and tried it now as well) and compiled some stuff. yum install gcc downloads 8.5MB of files (extracted files would be bigger on disk), and make command is about 0.5MB. Other stuff such as X11 headers, etc., etc. were not included in odds and ends? How much disk space do you think we need for making, for example, a .xo file for a simple app? The svn and git clients are not a part of a complete development environment? It's a crying shame that the laptop includes every impractical sandboxed toy out of academia, but fails to include **the** systems programming language. All of the important things are written in C, including Python! Even if it will be additional 50MB or such, it is just equivalent of dozens of high-res pictures. Yes, it would be nice to have an easy install of a complete development environment for XO on XO. (Too bad the development of Develop is stalled.) -- Yoshiki I don't understand what you are implying in this paragraph (every, impractical, sandboxed, toy, and out of academica Some words may apply to some activities we have, but connecting them together doesn't make a meaningful sentense), but yes, it is a shame that most of developers even don't try to develop their software on it. ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: WSJ
Mike, but if a country wants to choose Classmates or EEEs, that's fine, we *still* want to help educate those children. Yes, I totally agree with this, and other sections on teacher training and documentation, etc., etc. * we should port to the other inexpensive laptops, if a country decides to go with EEEs or Classmates, we should be in there offering an EEE or Classmate-optimised Sugar + Activities + Content that they can load onto those machines o we should also port to the thin-client-style setups seen in e.g. Canonical's deployments of computing labs in the developing world It sounded in the article, though, that some countries have chosen Classmates because of MS Windows. How about porting parts of current OLPC software that is worthwhile for Windows users? What would such parts be? And, I see that one of the biggest downside of our software is that kids cannot participate the software development effort from their laptops (except...). If we are to look at different platforms, it is nice to think about easy support of on-laptop-development. I don't care if it is on Windows or Mac OS; on top of Windows (or Mac OS), you as an end-user can still do a lot. (Basically the same argument in filtered Internet access is better than no Internet access.) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: WSJ
It's not About the Hardware: In principle, that is true. In practice, it is the hardware that has been responsible for all the attention. Alan Kay once said: Reality is a low-pass filter. (High-frequency ideas cannot go through it.) If the project had been just a software framework to support constructivist education, the worldwide response would have been ho hum, yet another program/operating system/GUI/whatyoumaycallit. Thank god our project is not like that. With that hardware and great software and content (that potentially also work on other hardware) will make a kick-ass learning platform. The latter needs more attention to really achieve that. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Acoustic distance measurement applications
Ben and everybody, The multiple-click problem prevented me from trying the acoustic distance measurement activity for a while, but finally I could do it last night on 637. Thi is pretty cool! This reminds me of a story I heard from my boss and I thought you would be interested in it, too: --- The graph activity was by some Physics professors at Tufts University, including Ron Thornton (who has been a major figure in physics education via computers since the Apple II). He has lots of stuff online (but I couldn't find the specific reference for this work (ca. 1990). Basically, they found that a pre-test that would accurately predict the final grade was apptitude at reading graphs. Then they decided to try teaching some of their students how to read graphs -- and one of the main ways was to use a Polaroid camera range finder on the screen of the computer and the student using whole body movement back and forth to try to match different graphs on the screen: distance, velocity, acceleration, etc. They reported that this worked very well. We made a Hypercard version of this and tried it on children and teachers and found it worked very well. --- Basically, looking at a graph and acting as a component or derivative of the graph is a great way to improve physics sense and it results in a better grade. He thinks that using the whole body instead of just finger tips is a key. This would be a great match with Acoustic Measure. For this purpose, perhaps the interval of noise should be configurable and can be made shorter, and the read-out values should be able to be used by other things like a graph drawing/showing program. Also, have you thought about making an explanation for kids, perhaps in the form of an active essay? The current implementation is a bit like a magic, and I bet many kids who try it would say: it can measure the distance because they are 'talking' to each other or something like that based on the story mode of thinking when asked how it works. A kid-accessible scientific explanation would be very nice. Since the essence of the measurement should be very, very small (perhaps just one or lines, leaving all the details of binary sequence and speed of sound variation), that would be a quite fun reading for kids. Just my 2 yen. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Updates for Update.1 from Joyride
Jim, So in short, we're screwing down the lid on Update.1. But we likely have to do a Ship.2 build, and that on top of a feature release is a bad idea, so we'll let Update.1 slip and be sane about letting it be ready when it is ready, rather than having to throw it over the wall on December 1, ready or not. There are bugs that are fixed in 637 but not in 623. Do we just close these bugs on trac, even though we know that they do exist in a version that is yet to be shipped? I think the answer is yes, but just checking... -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: some first impressions
Because somehow this email arrived to may inbox three months later,^^;, it is a good time to write a reminder. 1) eToys: It would be very nice to have support for Analog Input in eToys. For a month or so, Etoys has a support for Analog Input, in a sense that it can basically do what amixer does. Etoys has been supporting audio input and various ways to analyze it. For example, if you launch Etoys, go to the treasure box, bring Object Catalog out, go to Multimedia category, and bring up SpectrumAnalyzer. By talkin, whistling, etc. you can see what it does. It has different kinds of display, etc. However, the current SpectrumAnalyzer was written more or less for a demo, and not really up to the real use. As I summarized at: http://dev.laptop.org/ticket/4586 Combined with the underlying facility for analog input in Etoys, kids could write their own programs by using the input data to analyze it and play with it. Also, we could show the same data in different representations, such as time domain and frequency domain, at the same time side by side, so that a wave can be viewed in various ways. I asked Arjun while ago if he would have time to try to enhance SpectrumAnalyzer in Etoys. He said after polishing up Measure for these deadlines, he wants to give it a shot (I still think he is the ideal person). However, if others on the list have ideas and time and desire, please think about enhancing SpectrumAnalyzer (or write a better one). Thank you! -- Yoshiki inline: spectrumanalyzer.png___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Telling time (was: StopWatch activity)
Nick, At Thu, 15 Nov 2007 17:13:34 -0500, nick knouf wrote: Bert Freudenberg writes: I question the very assumption that continuously telling the time is even remotely important on a learning machine for kids in elementary school age. Dealing with time is a critical life skill that must be learned. Having a clock is thus very important. Whose time? Hours minutes seconds? Days since a recent feast? When the sun is at a certain position in the sky? Since I last saw you on the road? How much do I quantize? Is quantization of time even a concept I am familiar with? Well, it seems that you are responding to a wrong message. The notion of time is _highly_ contingent on situated cultural factors. Just because in the West we measure things using hours, minutes, and seconds, does not mean that the entire world does so. In fact, our conception of time is directly related to churches and clock towers in the middle ages (see Lewis Mumford on this idea) first, and then assembly lines and educational/disciplinary institutions (see Foucault) . The rest of the world has not necessarily adopted our way of dividing days into ever smaller chunks---perhaps there is no quantization at all! A clock application, especially given the areas of deployment, is _not_ something you rush into with the assumption that you can merely write a graphic display of 00:00:00. One must understand the local conditions to know how time is told _on the ground_ and be careful to not impose a Western notion of quantization and temporal division that might be entirely foreign. So, what do you think about the idea of letting kids make their own clocks? -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [Etoys] A Clock project in Etoys
http://dev.laptop.org/~yoshiki/etoys/Clock.004.pr One way or another, please load it onto Etoys (on a non-XO environment, drag-and-drop from Finder or Explorer. On XO, access the URL with browse, copy it to a USB memory and resume it from Journal, Ugh, is downloading and resuming projects directly broken again? This used to work fine. Yup. Testing this kind of use case was another purpose of this exercise. Just clicking on the link in Browse doesn't seem to do anything except saying download complete. On the Joyride build at some point yesterday, I can drag the link from Browse to the Frame, choose Add to Journal in the menu that pops up when I do mouse-over on the icon, go to Journal, and resume the entry. Obscure, to say the least. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Telling time (was: StopWatch activity)
-1 to the idea that we should deliberately leave out features in order to encourage kids to program. O, ye of little faith. I don't see anybody said this, but yes, that would be bad. The environment should come rich set of tools/widgets etc. that make the environment rich. Several clock examples should be part of it (That is why I just made one). But, these tools should be used by kids to make more stuff, and also these should be openable to see inside. That is what I mean by saying kids should be making clocks. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
A Clock project in Etoys
Hello, After having a conversation with one of my colleague (Ian), I couldn't resist, and I happened to have some spare time while helping a TA as an unofficial TA. So I made a Clock project in Etoys. The file is available at: http://dev.laptop.org/~yoshiki/etoys/Clock.004.pr One way or another, please load it onto Etoys (on a non-XO environment, drag-and-drop from Finder or Explorer. On XO, access the URL with browse, copy it to a USB memory and resume it from Journal, or hit Alt-, for Show Source - 'open...' - 'file list...' and navigate to the .pr file). After it starts, don't forget to move the mouse around! The fun thing about it is that only non-trivial thing the user needs is a text version of Clock that is available in the Object Catalog. Everything else is built with simple Text, Ellipse, Rectangle, and Star. (The digital clock uses another pre-made widget.) The essense of rotating the analog clock hands is three equations each of which decides the angle of a hand. The script shown in the project has such three lines. In the other words, kids don't have to know any more magic than setting the heading of objects. (The script has other two lines, but these are used to provide some effect for the digital clock.) You can change the equations dynamically to make, for example, the clock goes backward. The variables are accessible to the user, so learning about the clock, such as angles and rate, etc. can be done from this project. -- Yoshiki There is a bug. If the digits in the analog clock is truncated, press resetResult button. ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: StopWatch activity
Benjamin, 1. Clock is non-interactive. It doesn't make sense to share it, or save it to the journal, so I've disabled those features. Human being is good at finding differences, but drawing similarity out of seemingly different things is more fun if you know it. 2. I like small programs that do one thing well. I'm not sure if this is the Constructionist Activity philosophy, exactly, but it seemed like a good idea. If a program has two different main screens, that suggests that it does two completely separate things. Probably the best thing is to provide one of them (or other basic blocks) and to let the children build one from another by themselves. Combining it with the camera makes a lot of sense, BTW. Kids can make an interval timer for camera... (and other things like Pippy.) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: StopWatch activity
What do people think of this distinction? To my prejudice, it sounds like a bad idea. If you have to do some operations on the laptop and wait many seconds just to check the current time, that sounds bad, too. There was an idea of having a little clock in the Sugar frame. How about that? (I think Alan gave a demo of that, and it can be made in 10 seconds, during his talk at Cambridge sometime ago.) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: StopWatch activity
Eben, If you have to do some operations on the laptop and wait many seconds just to check the current time, that sounds bad, too. The clock activity is wholly independent in my perspective from having a clock in Sugar. We still intend to incorporate that - the overhead of launching an activity is silly. Wow, ok. Kids will have plenty of different clocks. That sounds like a rich environment. This is, in fact, why I think we need to clarify the use cases for these activities, and having a computer that is actually impersonating a clock is a reasonable thing to want in some cases, but not what you want while you're actively using the laptop. Exactly. That is one reason why kids should make one. And *ideally* it shouldn't be that hard for say, a 12 years old, like I wrote here: (I think Alan gave a demo of that, and it can be made in 10 seconds, during his talk at Cambridge sometime ago.) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Monday Ship Mtg update message
Hi, Kim, I waited until somebody else asks this, but seems that I need to ask^^; How serious is the next deadline? While Etoys did create a new branch after Trial-3 deadline and development is going into the branch, not all our team members are comfortable with the tools enough to follow the joyride hourly builds and test our latest stuff on the actual B4 (and some of our new stuff is not in joyride yet for some reason). And for many developers with B4s, they probably install new build now and then, or stick to the stable builds and try other people's stuff now and then. And as I gather, there are reallly big changes underway. Now, even if the shipment of Trial-3 happens (it has not happened yet, right?) before the next code freeze date, the new code in the branch (not just Etoys' but everything else has similar issues I suppose) will not be tested well by many people, even ourselves, on B4. In this circumstance, how should we proceed? Should we proceed to push the changes to branch? Or is it a bad idea and it should be deferred? Thanks! -- Yoshiki At Mon, 22 Oct 2007 10:43:46 -0400, Kim Quirk wrote: Schedules: This is the last week of changes to the FRS, or Frist Deployment, code base. There are 70+ blocking bugs and over 230 high priority bugs. These should be the highest priority for most people who are helping out in both development and test. After this week, we will hand pick the bug fixes that will go into the build; and start shutting down the code churn. Please look through your bug list, including any other components that might be related to your bug list (sometimes they get put under the wrong component); and figure out what you believe to be the First Deployment show stoppers. Look at bugs that are assigned to the FRS milestone as well as those that have not been assigned or those that are untriaged. This is the code that our first deployment children in Uruguay will experience as well as those who are donating to the G1G1 program -- so we'd like to present the best user experience as possible. Meetings this week (please send me email if you need a call in number and don't have it): Monday 1pm EDT: Test meeting - where are we on the test sprint objectives; highest priority testing for this week Tuesday 12:00 (noon, EDT): Journal/datastore update, saving to the school server Tuesday 12:30 EDT: Tubes, presence, new mesh protocol, jabber servers Wednesday 11:30 EDT: Sugar UI (This might not be the correct time...Christian or Eben will send out time) Wednesday 4:00 pm EDT: Security update (NOTE the change of day) We may need a meeting on connectivity issues (to continue from where we left off with Marvell and Cozybits last week) We may need a meeting dedicated to school server integration We are coming down to the last few weeks. Thanks for everyone's focus and dedication to these difficult details. - Kim ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: [Olpc-open] Massive mesh view?
Thank you Philip, There is a friends page along with the neighborhood view where you can add all of the people that are important to you. I know this answer, but this is not really the answer, right? From where do you add all of these people and how do you find the important people? The other questions will be better answered by others. That is alright. Walter gave his answers and not every questions have answers^^; -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Massive mesh view?
Hello, Recently, I talked with some folks who are trying to do promotion of the give one get one program, and some issues (all are related) came up: - How many users can be shown in the mesh view? - If you limit the number of buddys on the view, how do you limit? - Are we going to have many (jabber) servers for these buyers in the US? - Are we going to have an SNS like community so that (for example) a set of friends can have a place to find each other easily? A senario was that a kid and her niece on the different coasts should be able to find each other. I don't know if there is plan for these (for the G1G1 program), but having an SNS site sounds like a good idea. The parents will feel safer if they know with whom their kids are talking. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
something went wrong in the file system
Hello, My B4 with 616 build went into some interesting state. I was copying some executable files to a directory (under /usr/local/lib/) from my USB memory and playing with it (for several iteration) from the Sugar console. But I terminate the executable and left the system idle for a night. That was yesterday. Today, I was trying to remove the file I copied by rm command but get an error that says No space left on device. I try to reboot my machine (perhaps a bad idea) but it went into the launching X loop. I did force poweroff and now the unit doesn't boot. I got OFW's ok prompt and typed: dir nand:\boot but it says: jffs2-file-system jffs2:bad read I saw some trac items about nand corruption and it might have happened to me. I don't know if there is a way to salvage some useful information from my unit at this point, but if somebody has an idea (or just say it is a known problem) please let me know. Otherwise, I'd just reinstall a build... -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: #3655 (Specify the order of the Activity taskbar icons)
Hello, Mitch, I think that children will do what they consider fun, regardless of our priorities or message. This is almost FAQ, but have you heard of or read about Seymour's Mathland analogy? Like if parents have a lot of books in their house and read them, or play piano after dinner or weekends (or whenever) for fun, chances are that the kid will consider reading books or playing piano to be fun, because the environment and parent's behavior make it so. The environment is really important. And, the message the OLPC project is about building such an environment, and send a message that creating stuff on computer is fun. We may not get the ideal environment where parents and teachers can really help, but think about the next generation. If the parents of next generation, or current kids, just think that computer is good for text chatting and grow up, that would be pretty bad. It largely doesn't matter which particular activities are emphasized by preferred placement. So long as activities are not so well hidden as to be undiscoverable, within short order the group of children as a whole will have seen all of them, and individuals and groups will gravitate toward the ones they find appealing. I wasn't merely talking about the placement of icons, of course. You can't make people be interested in what you think is good for them. Yes, there is big truth in this statement. If you see what is on TV, you see that. But this is an educational project, not a project to cater people's instinct. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: #3655 (Specify the order of the Activity taskbar icons)
SJ, I'd say... our priority (or our message) should be more on the hard fun items. What do you think? I largely agree. I would put persistent collaboration on a par with hard fun; but then I think multiplayer notepad is among the greatest games ever. And certainly combining the two is something to focus on. Some of the better instances of 'hard fun' have learning curves and network effects that aren't immediately obvious; emphasis helps to get communities to a sweet spot of shared use and feedback. I have trouble to figure out what you are agreeing with and what is this multiplayer game thing. Anyway, I'm not entirely sure the persistent collaboration is that big idea. When you are reading a book, and especially when you are getting an idea that is going to contradict with the stuff written in the book, you definitely don't want to hear from your peers or teachers or talk about your idea too early; that is a recipe for killing a radical idea. Collaboration at the right time will definitely help, but when you are engaging deep thought is not when. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: #3655 (Specify the order of the Activity taskbar icons)
Hello, We came across this bug ticket: https://dev.laptop.org/ticket/3655 - Specifically, the first 6 icons from the left should be (in order): Chat, Browse, Write, Record, Paint, TamtamJam? After that: Turtle Art, eToys, Pippy, Calculator, Measure, TamTamEdit?, SynthLab?, Memorize, Blockparty, and Connect4. - It appears to me that this ordering puts higher emphasis on simple and easy things and less emphasis on things that require creativity and hard fun (excluding games). Is this observation correct? If so, it may send a wrong message to the rest of world. Many potential cuostomer contries have cellphones and PCs already, and adults and youth are chatting and browsing and taking notes (and playing games) with them. Are we trying to compete in such cellphone culture domain? I'd say, cellphones and PCs they already have can take care of simple stuff, so our priority (or our message) should be more on the hard fun items. What do you think? -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: #3655 (Specify the order of the Activity taskbar icons)
Eben, Thank you for responding. I admit that just reading a short description of a bug track ticket may miss the context behind it, but anyway here goes: Specifically, the first 6 icons from the left should be (in order): Chat, Browse, Write, Record, Paint, TamtamJam? After that: Turtle Art, eToys, Pippy, Calculator, Measure, TamTamEdit?, SynthLab?, Memorize, Blockparty, and Connect4. - It appears to me that this ordering puts higher emphasis on simple and easy things and less emphasis on things that require creativity and hard fun (excluding games). Is this observation correct? I'm not sure that analysis is quite fair. Browse and Chat are at the top of the list because one of the foremost goals of OLPC is to provide connection, both to peers (for collaborative learning) and to the internet (to provide access to information they otherwise don't have). Write, Paint, Record, and TamTam address the primary (as opposed to simple) tools for creative expression in text, image, video, and audio media respectively. The other tools are all fantastic, and that's why they are still on the list for inclusion as base activities. I wonder if you followed the Human Universals thread while ago (mainly on the Squeakland mailing list but a bit on here as well). It may have been a difficult argument but the point was that just augmenting the stuff inherently built into human beings is not really important in educational sense. Chatting, painting, talking and other stuff like making up a story are something kids can do on their own even without taught. On the other hand, writing and reading, mathematics, science, and etc. were inventions, nand all generation after the invention had to learn them to be fluent with the ideas. Your definition of primary seems to follow (some exceptions like Write) the universal stuff that don't have to be taught. If so, it may send a wrong message to the rest of world. Many potential cuostomer contries have cellphones and PCs already, and adults and youth are chatting and browsing and taking notes (and playing games) with them. Are we trying to compete in such cellphone culture domain? I'd say, cellphones and PCs they already have can take care of simple stuff, so our priority (or our message) should be more on the hard fun items. These laptops are often going to people and places where cellphones and laptops don't exist for reasons of cost, power consumption, lack of connectivity. We're addressing all of those issues, and at the same time providing an array of activities which address all age groups and interests. Often, but probably often not. And the same argument stands. There are people who try to provide low-power cheap cellphone network to these areas. Again, we don't have to complete with that direction. Just because some of them are simple doesn't mean that they can't produce incredibly impressive and complex results in the hands of a creative individual (or group of individuals). This statement is just too general. Creative people can do anything under every possible limitations. Furthermore, the emphasis on connectedness and collaboration puts even the most basic activities on the laptops far ahead of any mobile applications and in some ways many desktop applications as well. But it is not education. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Pippy and Calculate - Evolution Solution
Ivan, There were virtually no widespread public systems of education until the industrial revolution. Once they came about, they came about with a purpose: creating skilled industrial workers. I would say this part is too much generalization, but,,, That's broken. The reason the XO has the potential to change the equation in unimaginable ways is because it decouples teaching and learning, thus fundamentally eroding this brokenness. Suddenly, you can have your cake and eat it too -- if your *teaching* system is great, the XO can happily take the passenger seat and become an invaluable sidekick to the teacher running the show. But hey, if you don't have a teacher AND you're interested, or you simply want to learn more than you're taught, you're no longer out of luck. You get to learn as much as you want, and in whichever way you want -- without having to adhere to someone else's idea of what your capabilities are. I think this describes the big goal nicely. I'm here today doing what I'm doing because I was allowed to install Linux when I was 9. It took me two weeks to get a working machine. By 10, I wrote my first (horrible, never submitted, but entirely working) kernel patch to support a SCSI drive that wasn't working properly. Those 100 lines took three months to write. If someone said what? Linux and a compiler? You don't get to play with that until you're grade 12 honors at a minimum, I wouldn't be where I am. It's that simple. Hehe, did you know this is exceptional? For talented people, especially artist types, the common obstacles such as social pressure, ignorant adults, etc. don't really matter. They would just do it. Hopefully, after the deployment, we will have success stories of normal people (like a successful classroom) as well as for exceptional individuals. Computers in classrooms is not a new concept, and there are a lot of success stories and failures. If we interview those who have experiences, make up honest documents that describes how to use it to teach what, it would be a great thing to distribute with XO. (Ah, wait. I know a group that is trying to do this...) So, about the original suggestion about making the code behind the math operations viewable, I think it's a fantastic one. It leverages the onion model -- expose simplicity by default, but make complexity easily available for those who care. Don't limit those who want more, but don't force anything on those who don't. If that's how most software was built, our industry would be in far, far better shape than it is. You sound like a Smalltalker^^; To reiterate my point, I think the code behind should be *ideally* presented in different ways that different learners can understand. In Etoys, you can go from visual tile scripting to (say) textual Smalltalk to the Smalltalk parse tree to the stream of virtual instructions (these are all accessible to the user on XO, BTW). However, there should be a better view/interface somewhere in between the tiles and Smalltalk code. And, also the parse tree should be uniform and independent from Smalltalk. Yes, getting rid of Smalltalk and make it possible to plug different languages in the middle is one of our longer term goals, as you know. Thank you! -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Pippy and Calculate - Evolution Solution
Ivan, You can almost tell that he is pretty much the only guy who is interested in supporting outside developers. That isn't fair. I speak on behalf of the entire OLPC team when I say that we're extremely interested in supporting outside developers. There's no question about it, and there never was. My wording was not right. I didn't mean to say you guys *don't have* the interest, but happen to have not been able to spend time on it. (And, kudos to Bert was my another point.) Sorry about that. Until then, I can only thank everyone who's been bearing with us even if it feels like there's a line in the sand between 1CC and outsiders at times. Communities are hard work, and we're entirely committed to growing a great one around OLPC. Really. Please be patient with us a little longer, and as Wikipedians like to say, assume good faith. Yes, thank you. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Pippy and Calculate - Evolution Solution
Albert, Oh, good. You weren't simply trying to flame the discussion after all^^; For now, let me just jump to the last part... Imagine if the functions that are available in the Calculate mode (such as sin, sqrt, etc.) are actually defined in a way that kids can understand (for example, the Newton-method for sqrt, or even a graphical version for sin and cos), and if the user goes to the Pippy mode, the user can look inside the definition and modify them? That would be very constructionist. Dear my. I'm all in favor of supporting the bright kids, but that suggestion sounds like grade 12 honors at minimum. No no. Do you have any reason to believe that cannot be done under grade 12? (You can't really mean 12th graders... You mean 12 years old, right?) I happen to have a chat with my boss on this topic, and he told me an interesting experience with a HyperCard stack called the function machine done by a elementary school teacher in LA. This HyperCard stack basically has a funny looking picture of machines. This machine sucks a number, does something on it and spits out another number. Kids are first to guess what the machine does inside. First graders could do simple additions, and often could do linear relation and with linear relation with additive part. Of course, then kids get to open the machine and write the function (symbolically) in it. Now, this becomes a sort of quiz; kids exchange their machines and play with machines made by friends. This was largely sucessful with kids from 1st to 4th graders. The Newton-method, etc. may be too early for 4th graders, but understanding the concept of functions is not that magical. You can imagine to make a machine with other machines, etc. Remember the famous quote from Jerome Bruner: We begin with the hypothesis that any subject can be taught effectively in some intellectually honest form to any child at any stage of development. To make this hypothesis stand, the environment and the form have to be carefully thought out, but like teaching differential vector geometry with Logo, there are a lot of evidences. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Pippy and Calculate - Evolution Solution
Mitch, Remember the famous quote from Jerome Bruner: We begin with the hypothesis that any subject can be taught effectively in some intellectually honest form to any child at any stage of development. Sounds more like a statement of faith than a falsifiable hypothesis. Well, if you just take this statement without knowing what he has done to support it, I might agree that it looks like a simple non-falsifiable hypothesis. To talk about childhood education and constructivist theory in education, Jerry's books are must-read, whether you agree with him or not (to say the least. Actually, he is one of *the* guys.) -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Pippy and Calculate - Evolution Solution
Albert, Again, this is not a criticism toward Reinier, but rather toward the fact that keeping up with the rate of change that Sugar and the UI guideline is not something a volunteer developer can easily cope with. Calculate is in Python, isn't it? Sugar and UI changes are deadly for the non-Python stuff. And why? If you follow the development in past several months, you probably found that the difference of language used to write an activity has very little correlation with when and how often the activity stopped working. (A high-level messaging/component model usually cuts the dependency to a particular implementation language.) It seems that what it matters is *person* than language. In that regard, we should give Bert (Freudenberg), who has been doing the Sugar integration part of Etoys, big kudos. He's been corresponding with core developers, not only keeping up with the changes but also give back a lot of good suggestions. Take a look at the history of Sugar on Fedora 7 page on the wiki. (http://wiki.laptop.org/index.php?title=Sugar_on_Fedora_7action=history) You can almost tell that he is pretty much the only guy who is interested in supporting outside developers. Yes, he is dedicated to do so. That certainly does the trick. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: Pippy and Calculate - Evolution Solution
Hi, James, I'm in Australia. In our school system we use lowest common denominator, class based teaching ... advancement in knowledge and skill beyond the plan for the year is socially punished. Wow. Sounds like Japan. Bright kids learned to hide their ability. However, even with that, I have met 5 to 9 year old kids who could do the math that was to be learned at age 15. So I have no trouble with the idea of revealing the details of these function derivations. At worst we'll create a generation who know math better than anyone else ... and where's the problem with that? A little problem is that we would like to get 80% of students to go beyond a threshold. May or may not be so high threshold, but reasonably high. Definitely we should try to make curriculum that fit almost everyone in a class except a few hopeless, not a few talented. -- Yoshiki ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel