Re: [Server-devel] [IAEP] Sharing EToys projects

2009-12-18 Thread Yoshiki Ohshima
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

2008-12-30 Thread Yoshiki Ohshima
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

2008-10-30 Thread Yoshiki Ohshima
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

2008-10-29 Thread Yoshiki Ohshima
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

2008-10-29 Thread Yoshiki Ohshima
  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

2008-10-17 Thread Yoshiki Ohshima
  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

2008-10-16 Thread Yoshiki Ohshima
  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

2008-09-27 Thread Yoshiki Ohshima
  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

2008-09-25 Thread Yoshiki Ohshima
  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

2008-09-25 Thread Yoshiki Ohshima
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

2008-09-23 Thread Yoshiki Ohshima
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?

2008-09-01 Thread Yoshiki Ohshima
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.

2008-08-27 Thread Yoshiki Ohshima
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

2008-06-28 Thread Yoshiki Ohshima
 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

2008-06-27 Thread Yoshiki Ohshima
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

2008-06-27 Thread Yoshiki Ohshima
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

2008-06-27 Thread Yoshiki Ohshima
  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

2008-06-27 Thread Yoshiki Ohshima
  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

2008-06-26 Thread Yoshiki Ohshima
  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

2008-06-26 Thread Yoshiki Ohshima
  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)

2008-06-26 Thread Yoshiki Ohshima
  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

2008-06-25 Thread Yoshiki Ohshima
 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

2008-06-25 Thread Yoshiki Ohshima
  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

2008-06-25 Thread Yoshiki Ohshima
  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

2008-06-25 Thread Yoshiki Ohshima
  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

2008-06-25 Thread Yoshiki Ohshima
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

2008-06-25 Thread Yoshiki Ohshima
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

2008-06-25 Thread Yoshiki Ohshima
  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

2008-06-24 Thread Yoshiki Ohshima
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

2008-06-24 Thread Yoshiki Ohshima
  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

2008-06-19 Thread Yoshiki Ohshima
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

2008-06-04 Thread Yoshiki Ohshima
  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

2008-06-04 Thread Yoshiki Ohshima
  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.

2008-05-29 Thread Yoshiki Ohshima
 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)

2008-05-19 Thread Yoshiki Ohshima
  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

2008-05-19 Thread Yoshiki Ohshima
 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

2008-05-18 Thread Yoshiki Ohshima
 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

2008-05-17 Thread Yoshiki Ohshima
 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

2008-05-16 Thread Yoshiki Ohshima
 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

2008-05-13 Thread Yoshiki Ohshima
 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

2008-04-29 Thread Yoshiki Ohshima
 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!

2008-04-24 Thread Yoshiki Ohshima
   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!

2008-04-24 Thread Yoshiki Ohshima
  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?

2008-04-24 Thread Yoshiki Ohshima
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

2008-04-23 Thread Yoshiki Ohshima
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

2008-04-11 Thread Yoshiki Ohshima
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

2008-04-10 Thread Yoshiki Ohshima
  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

2008-02-20 Thread Yoshiki Ohshima
  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?

2008-02-11 Thread Yoshiki Ohshima
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?

2008-02-11 Thread Yoshiki Ohshima
  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?

2008-02-05 Thread Yoshiki Ohshima
  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

2008-02-05 Thread Yoshiki Ohshima
  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

2008-02-04 Thread Yoshiki Ohshima
  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

2008-02-03 Thread Yoshiki Ohshima
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

2008-02-03 Thread Yoshiki Ohshima
  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

2008-02-02 Thread Yoshiki Ohshima
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

2008-01-19 Thread Yoshiki Ohshima
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

2008-01-15 Thread Yoshiki Ohshima
  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

2007-12-25 Thread Yoshiki Ohshima
  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

2007-12-25 Thread Yoshiki Ohshima
  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

2007-12-24 Thread Yoshiki Ohshima
  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

2007-12-24 Thread Yoshiki Ohshima
  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

2007-12-23 Thread Yoshiki Ohshima
  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

2007-12-14 Thread Yoshiki Ohshima
  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

2007-12-12 Thread Yoshiki Ohshima
 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

2007-12-05 Thread Yoshiki Ohshima
 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?

2007-12-05 Thread Yoshiki Ohshima
 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)

2007-12-04 Thread Yoshiki Ohshima
  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)

2007-12-04 Thread Yoshiki Ohshima
  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)

2007-12-03 Thread Yoshiki Ohshima
  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

2007-11-30 Thread Yoshiki Ohshima
  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)

2007-11-30 Thread Yoshiki Ohshima
 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.

2007-11-28 Thread Yoshiki Ohshima
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)

2007-11-27 Thread Yoshiki Ohshima
  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

2007-11-26 Thread Yoshiki Ohshima
  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

2007-11-26 Thread Yoshiki Ohshima
  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

2007-11-21 Thread Yoshiki Ohshima
  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

2007-11-20 Thread Yoshiki Ohshima
  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

2007-11-20 Thread Yoshiki Ohshima
  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)

2007-11-16 Thread Yoshiki Ohshima
  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

2007-11-16 Thread Yoshiki Ohshima
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)

2007-11-16 Thread Yoshiki Ohshima
 -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

2007-11-15 Thread Yoshiki Ohshima
  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

2007-11-14 Thread Yoshiki Ohshima
  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

2007-11-14 Thread Yoshiki Ohshima
 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

2007-11-14 Thread Yoshiki Ohshima
  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

2007-10-25 Thread Yoshiki Ohshima
  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?

2007-10-20 Thread Yoshiki Ohshima
  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?

2007-10-19 Thread Yoshiki Ohshima
  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

2007-10-12 Thread Yoshiki Ohshima
  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)

2007-09-23 Thread Yoshiki Ohshima
  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)

2007-09-22 Thread Yoshiki Ohshima
  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)

2007-09-20 Thread Yoshiki Ohshima
  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)

2007-09-20 Thread Yoshiki Ohshima
  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

2007-09-09 Thread Yoshiki Ohshima
  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

2007-09-08 Thread Yoshiki Ohshima
  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

2007-09-07 Thread Yoshiki Ohshima
  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

2007-09-07 Thread Yoshiki Ohshima
  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

2007-09-07 Thread Yoshiki Ohshima
  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

2007-09-07 Thread Yoshiki Ohshima
  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


  1   2   >