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: 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: [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: 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
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_Xhb6KcXLyEViA50CnCaDg&hl=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: [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_Xhb6KcXLyEViA50CnCaDg&hl=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: 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
  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, };

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-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, };

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 doe

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-26 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://list

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: 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


Re: etoys now available in Debian's non-free repository

2008-06-26 Thread Yoshiki Ohshima
> Right. I'm also not explaining why software freedom is
> good, why maintainability is good, why interoperability
> is good, etc. Values are values.

  That is alright.  You tried several claims to say Etoys is not open
source based on incorrect ideas, and now it seems that you exhausted
such claims.  So we are probaly in the agreement that Etoys is open
source.  That is all that matters.

  Whether is is easy to maintain, etc. aren't the central issue.

> I got that. The fundamental problem is the patch collection.  There
> is a problem even if you can distribute the result.  Patches need to
> be applied. If you do that, and distribute a blob, then we're back
> to the blob problem.  If you don't do that, then we have the Minix
> problem.

  There is no real "blob" involved in this discussion, so I don't know
what to say.

-- 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: [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: [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, 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.

-- 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: 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: etoys implementation

2008-06-25 Thread Yoshiki Ohshima
> > 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 this .sources output what Debian is asking for? If not, why not,
> and what would we have to do to complete it from their point of
> view?

  To be honest, I've missed the earlier conversation on this and I
don't know somebody at Debian officially *asked for* a specific thing
to make it meet their requirement...  I looked back Holger's email and
saw:

--
The reasons are described in more detail 
in /usr/share/doc/etoys/README.non-free - readable for the next 72h at 
http://paste.debian.net/6962/
--

but couldn't see the URL.

-- 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
  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
  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: [IAEP] fixing etoys

2008-06-24 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} SystemDictionary>>send:toClassesNamedIn:with:
  |43.2% {935ms} Delay class(Behavior)>>startUp:
  |  |17.0% {368ms} SecurityManager class>>startUp
  |  |  |17.0% {368ms} SecurityManager>>startUp
  |  |  |  17.0% {368ms} SecurityManager>>loadSecurityKeys
  |  |  |16.8% {364ms} Object class>>readFrom:
  |  |  |  10.6% {229ms} Array(Object)>>isKindOf:
  |  |  |  6.2% {134ms} Compiler class>>evaluate:
  |  |  |6.2% {134ms} Compiler class>>evaluate:for:logged:
  |  |  |  6.2% {134ms} Compiler class>>evaluate:for:notifying:logged:
  |  |  |6.2% {134ms} 
Compiler>>evaluate:in:to:notifying:ifFail:logged:
  |  |  |  6.0% {130ms} Compiler>>translate:noPattern:ifFail:
  |  |  |6.0% {130ms} 
Parser>>parse:class:noPattern:context:notifying:ifFail:
  |  |  |  4.7% {102ms} Parser>>init: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 class>>startUp
  |  |  |9.7% {210ms} FileDirectory class>>setDefaultDirectory:
  |  |  |  |9.4% {203ms} FilePath class>>pathName:
  |  |  |  |  9.4% {203ms} FilePath class>>pathName:isEncoded:
  |  |  |  |9.4% {203ms} FilePath>>pathName:isEncoded:
  |  |  |  |  9.4% {203ms} LanguageEnvironment 
class>>defaultFileNameConverter
  |  |  |  |9.4% {203ms} SystemDictionary>>platformName
  |  |  |  |  9.4% {203ms} SystemDictionary>>getSystemAttribute:
  |  |  |  |9.4% {203ms} SystemDictionary(Object)>>deprecated:block:
  |  |  |  |  9.4% {203ms} Preferences 
class>>showDeprecationWarnings
  |  |  |  |9.4% {203ms} Preferences 
class>>valueOfFlag:ifAbsent:
  |  |  |3.1% {67ms} SmalltalkImage>>openSourceFiles
  |  |  |  3.0% {65ms} FileDirectory class>>openSources:andChanges:forImage:
  |  |  |2.6% {56ms} FileDirectory class>>openSources:forImage:
  |  |7.3% {158ms} ExternalSettings class>>startUp
  |  |  |7.3% {158ms} ExternalSettings class>>preferenceDirectory
  |  |  |  6.2% {134ms} SmalltalkImage>>vmPath
  |  |  |6.2% {134ms} FilePath class>>pathName:isEncoded:
  |  |  |  6.2% {134ms} FilePath>>pathName:isEncoded:
  |  |  |6.2% {134ms} ByteString(String)>>convertFromWithConverter:
  |  |3.8% {82ms} Delay class>>startUp
  |34.4% {744ms} WeakArray class>>startUp:
  |  |34.4% {744ms} WeakArray class>>restartFinalizationProcess
  |  |  34.2% {740ms} Semaphore class>>forMutualExclusion
  |13.0% {281ms} AutoStart class>>startUp:
  |  |7.4% {160ms} AutoStart class>>checkForPluginUpdate
  |  |  |7.4% {160ms} PasteUpMorph>>install
  |  |  |  6.2% {134ms} PasteUpMorph>>installFlaps
  |  |  |4.8% {104ms} Project>>assureFlapIntegrity
  |  |  |  4.8% {104ms} IdentityDictionary(Dictionary)>>removeKey:ifAbsent:
  |  |5.6% {121ms} AutoStart class>>checkForUpdates
  |  |  5.6% {121ms} PasteUpMorph>>install
  |  |3.5% {76ms} PasteUpMorph>>displayWorldSafely
  |  |  |3.5% {76ms} WorldState>>displayWorldSafely:
  |  |  |  3.5% {76ms} PasteUpMorph>>displayWorld
  |  |  |3

Re: [IAEP] etoys now available in Debian's non-free repository

2008-06-24 Thread Yoshiki Ohshima
  Thank you, Jim!

  I've missed previous conversation on this one so it is probably
redundant, but here is some additional information:

> > We then make sure that the stage2 and stage3 binaries are identical.
> > (This check has caught hundreds of bugs in gcc, binutils, and in
> > vendor compilers.)
> > 
> 
> Ah, yes, I remember this.  I've even struggled to do this once or twice,
> but that was about 15 years ago...

  Yeah, I used to just try it, too.  (Incidentally, I needed to test
GCC 2.95.2 compiler in this way in a few months ago.  I needed to edit
a few header files to make it work on FC7.)

> > This is quite different from the eToys situation, in which there is a
> > single binary implementation of the language;

  It is not a binary implementation of the language.

> > and the sources, where
> > present, are all mixed into a binary blob that's only readable by the
> > single implementation.

  Not true.  Just open .sources file and .changes file in
/usr/share/etoys with your favorite editor that understands UTF-8 and
can handle big files.  The remaining stuff that some people might have
concerns are pre-loaded contents. But these are contents and not
different from a .sh shell script for shell or .py python program.

> > I have the same concerns that Debian does.  Is
> > there even a tool internal to eToys that confirms that everything in a
> > blob includes the matching source?

  Of course there is.  Why do you imagine that there may not be?

> >  Let alone a tool that would
> > extract that source and rebuild the blob from scratch, using a
> > virgin binary environment.

  The sources is .sources file and .changes file.  You don't have to
extract it.  What you can extract from the .image file alone is
decompiled string.
  
> > We could've bootstrapped GCC once, and limped along ever afterward
> > with binaries built from that one original GCC binary.  (In a sense,
> > the entire C compiler market has done this.  Bell Labs' original C
> > compiler was bootstrapped from a BCPL compiler, and every other C
> > compiler probably bootstrapped from Bell's C compilers.)  Instead, the
> > GCC maintainers built lots of infrastructure to allow GCC to be
> > bootstrapped anytime somebody wants to.  And to test it regularly.
> > That's the part that eToys hasn't done.

  Start Etoys, open a workspace and type something like:

  SystemNavigation current allBehaviorsDo: [:cls |
 cls name displayAt: [EMAIL PROTECTED] cls compileAll].

, select it and press ctrl-D.  The system just recompiles all method
definitions from the source.

  Or, you can compare the previous result and new result by something
like:

old := Object compiledMethodAt: #printOn:.
Object recompile: #printOn:.
(Object compiledMethodAt: #printOn:) = old.  (and it will return 
"true".)

  I sometimes do run this test for all methods when I change something
deep in the Compiler.  Yes, sure I do it multiple times so that the
Compiler compiled by my Compiler generates the same code for the
Compiler.

> The VM (virtual machine), which is compiled using a C compiler and
> exquisitely examined regularly for performance reasons, and recompiled
> with some regularity with your favorite C compiler.  As I understand it,
> Squeak generates this C code itself.

  Yes, the debugging can be even done in Smalltalk.

> This VM interprets the image file, and so this C code of the VM can and
> is regularly examined, as Yoshiki points out, and for which the code can
> be decompiled by tools and examined.  In fact, the binary image is
> routinely decompiled whenever debugging is done in Squeak.

  It is decompiled and then the corresponding portion of the .sources
file or .changes file is brought in and shown in the debugger.  So
that the user can see the actual source (the exact way the programmer
has written, with comment and proper indentation).

> So as Yoshiki points out, it is actually feasible to complete this loop
> and verify the binary in the image file has the same result; external
> programs (have) exist(ed) to do so, in Yoshiki's example, in Squeak.  In
> this case, the Thompson attack seems unlikely; having Squeak able to
> recognize you are compiling a program intended to decompile an image
> seems pretty far-fetched to me (it isn't the same as a compiler
> recognizing it is compiling itself).

  Again, nothing would be gained from making it externally, but it is
highly unlikely that there is something hidden around the program part
in the image.  Nobody can prove that something doesn't exist, but from
other content part has some malicious thing now.  And it would be
really hard to have the machine instruction pointer to point to a
portion of ByteArray in the image and run it (for example).

-- 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: 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: 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
  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: [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: 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


Re: Video from last week's country meetings.

2008-05-28 Thread Yoshiki Ohshima
At Mon, 26 May 2008 14:58:06 -0400,
C. Scott Ananian wrote:
> 
> On 5/23/08, C. Scott Ananian <[EMAIL PROTECTED]> wrote:
> > I've posted the agenda for this week's country meetings, and slides
> >  from most talks, at:
> >   http://wiki.laptop.org/go/Presentations/May_2008_Country_Workshop
> >  This includes Nicholas' talk on Tuesday where he announced the XO-2.
> 
> I've now encoded and uploaded video from all of last Tuesday's talks;
> links at the url above.  Hopefully I will be able to get a copy of the
> videotapes for the rest of the week tomorrow and start encoding and
> posting them.  I'm missing some Friday slides that I'm trying to chase
> down as well.

  Thank you!  However, the video part of Alan Kay's talk is frozen at
one point and never comes back.  Is it possible to resurrect it?

-- 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


ideals and practice (Re: View Source question)

2008-05-19 Thread Yoshiki Ohshima
  Edward,

  I put Reply-To: header (I don't know if it goes through).  Please
send the reply to Its.an.education.project, if it continues.  For the
middle part of this email, you are just paraphrasing what I wrote, so
I see not much difference.

> This is a great thread. It is bringing out a lot of useful information
> from many points of view. You ask good questions, Yoshiki, which is a
> more important skill than giving good answers. It's a pleasure to work
> with you.

  Thanks! (this wasn't sarcasm, right?^^;)

> >  I'm not sure if Python has that edge over Squeak, but probably it
> > does.
> 
> From which point of view? A significant fraction of the world's
> software infrastructure is now implemented in Python, and Python is
> clearly a more appropriate language for the novice than BASIC, C,
> Pascal, Java, or the other languages usually favored in education and
> commerce.

  I have been always agreeing with that (Python has been used widely
and have a big mind share).  Python is the practical choice, even
though the creator doesn't seem to like the project (Open Source is
great^^;).

  If "access to most of the rest of the GNU/Linux world" means to
access the mind share, documentation, and etc., it is simply true.
But, if it was about viewing the source of the rest of the GNU/Linux
world in the environment, Squeak can just do the same as any other
program written in any other programming language.

  (BTW, I never suggested that Squeak/Smalltalk should have been
used.)

> The issue is not technical superiority on some measure.

  It isn't.

  My point was that people who know about computer systems would like
to show a technically better system to kids, if it is somewhat used as
a reference.  (Not that I think most of kids are going to see the
code, nor I claim there is another practical platform exists.)

  Some may say "hey, if you don't know an alternative, just accept the
status quo."  But this project has been going for a while, and the
longer times goes the more interesting the question "if we had started
from something different, where would have we been" become.

> > 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".)
> 
> Eh, LISP machine, Smalltalk machine, FORTH machine, APL machine. All
> great technical innovations, all market flops, if they were even
> implemented fully. Computers should be general-purpose.

  Currently, dominant architectures are essentially C and Fortran
machines.  And as Jecel wrote, market flop and technical superiority
are just very different things.  My boss sums it up by saying
"evolution doesn't optimize", meaning that the natural selection
process only makes an "ok" situation (unless it is on the dying
branch), but doesn't reach the best possibility.

> Now if somebody wants to design and implement a Parrot machine that
> will support dozens of languages, we can talk. But Parrot isn't
> ready.

  Yeah, timing is always bad.  VPRI's new project is not ready at all.

> >  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.)
> 
> Linux is, of course, way better than Windows. Not least in supporting
> better education software and content, because we can integrate
> security, collaboration, and fantastically low power consumption into
> the kernel.

  It is probably true for security.  I don't know if it is true for
collaboration and low power consumption.  Especially for
collaboration, what would prevent Windows and apps on it to be
collaborative?

-- Yoshiki

  (My flight was delayed 90 minutes, but I finally arrived Kendall
Square...)
___
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-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: 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 B&W 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: [squeak-dev] Re: to be deployed Epaati version is out!

2008-04-24 Thread Yoshiki Ohshima
  Ties,

  Please try attached change set.  In Epaati-10, it seems to remove
almost all objects.  (There are uninstanciated uniclasses left; that
may have to be removed by calling some methods like:

Player abandonUnnecessaryUniclasses
and
Player removeUninstantiatedSubclassesSilently

-- Yoshiki


MoreOkTochange-yo.1.cs
Description: Binary data
___
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: 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
  Hello,

I think you used the display scaling a lot...  The biggest problem
with it is that it defaults to 32-bit depth Display and all artwork
loaded into or created became 32-bit depth.  You could look at the
SketchMorphs in it and convert them to 16-bit (or even 8-bit with some
loss of quality) to save the space at runtime and on disk.

  (It looks like halo is disabled in the projects.  How can I get it
back for debugging?)

> One of our most pressing problems has to do with continual image
> growth, when opening multiple projects. After opening and closing
> around 20 projects on an XO, the amount of memory the vm uses
> (according to the vm stats), has climbed from 60 to 95 mb, and soon
> afterwards we get an out of memory error.
> 
> First I thought that old projects were lingering around, but they do
> seem to be garbage-collected eventually. There is no reference or
> pointer to them to be found in any case. I haven't had the time to do
> any space profiling to see who or what could then be the cause of the
> trouble.

  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...

-- 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
> 

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: 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: 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-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
  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: 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: [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: Classroom tools

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

-- 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,

> Yeah, I discovered that yesterday when I got my physical machine.

  Congratulations!

> I've been build my emulated XOs from the ext3 images as described
> somewhere on the wiki. If there's a way to build an emulated XO
> using a jffs2 image instead, I'll switch over to that.

  I noticed the issue while ago when a friend of mine mentioned the
thread on his blog:

http://d.hatena.ne.jp/sumim

I should have let you know earlier (sorry).  The good news is that we
have *some* disk space, at least, more than you originally thought^^;

-- Yoshiki

BTW, sumim-san's blog is a fun one for Rubist, especially for those
who has opinions on Smalltalk^^; 
___
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: 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: 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: 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: 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


Smalltalk development on XO

2007-12-14 Thread Yoshiki Ohshima
  Hello,

  I wrote a little wiki page that explains how to start and do
Smalltalk development on XO.  It is still "draft" status, but
hopefully it gives interested people something to look at:

http://wiki.laptop.org/go/Smalltalk_Development_on_XO

Any comments are welcome.  Thank you!

-- 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: 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: 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: Signed 648 (ship.2 release candidate)

2007-12-04 Thread Yoshiki Ohshima
 Thank you one more time, Morgan,

> Due to scalability issues, Ship.2 (the G1G1 release) is configured with
> a non-existant jabber server, ship2.jabber.laptop.org. We are working on
> server scalability for Update.1 which will enable the use of a server
> without totally killing it for everyone. That plan is to only show
> presence for a limited number of XOs in Neighborhood view, consisting of
> your friends, some XOs from the same network segment as you (being XOs
> on the same LAN or same part of the ISP's network to give some sort of
> "near you" presence, and some random XOs - with some way to search for
> other XOs so you can "friend" them.

  Ok.  And, it answers some questions I had as well:

http://lists.laptop.org/pipermail/devel/2007-October/007055.html 

> In the mean time, G1G1 users can consider
> http://wiki.laptop.org/go/Run_your_own_jabber_server (not for the faint
> of heart though).

  This sure will happen^^; I have to admit that I didn't know that the
control panel was already there.  So, it is conceivable that one good
highschooler can set up and invite others in town to there.

  Thank you!

-- 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: clean installation of 643.

2007-12-04 Thread Yoshiki Ohshima
  Thank you, John,

> The autoinstaller is not working properly.  This is a known problem, but
> given that the preferred method of upgrade is now over the network, it
> has not been a priority.

  Is preferred method really over the network?  I'm so ignorant about
it, but what is the current theory of upgrading?  Does the current
scheme let people download a 300MB file over the wireless?  (I haven't
tried it by myself, but does T-Mobile connection stable enough to let
them do it generally?)

  There was long discussion of partial update, XO-to-XO update, etc.
How is it going?  Or is it just working?

> To install the firmware from a USB stick using OFW:
> flash path_to_file
>where path_to_file is usually something like u:q2d05.rom
> You can use:  dir u: to list the contents of the USB stick.
> 
> To install a build from a USB stick using OFW:
> copy-nand path_to_file
> 
> This will overwrite all data on the laptop.  Make sure to backup  
> anything
> you want to keep!

  Yes, I have been doing this now and then.  Thank you!

-- 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-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  ]
> 
> [1.2  ]
> 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


Re: WSJ

2007-11-30 Thread Yoshiki Ohshima
  Thank you, Mike,

> That said, activities which use the high-level components only might be
> able to be ported just by rewriting the Sugar APIs with a Win32
> compatibility layer a port of Telepathy and a bit of bailing wire.  That
> might let children communicate and access the materials... but that
> would be a fairly involved project, and I don't know if we'd find all
> that many Win32 developers interested in attempting it.

  That would be useful for longer term.  TamTam on Windows would be
cool so you can jam with a Windows user over the net, for example.

> >   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".)
> >   
> Yes, we really need to get "Develop" development un-stuck.  We currently
> have only Pippy (which doesn't do files) and the Squeak IDE available
> on-machine.  We need that full Python IDE available for the children
> ASAP.  After all, we've got a whole key on the keyboard devoted to it. 
> Even if the IDE is just file-open/close/create, file-tabs and syntax
> highlighting it would be sufficient to start programming on-machine.

  Yes.  Maybe a Python IDE in Squeak is not a so bad idea.

  At some time soon, somebody in Etoys/Smalltalk community need to
write up how to start Smalltalk programming on XO, such as making
writable copies of etoys.image and etoys.changes to a directory and
turn "eToyFriendly" preference off, etc.  (Ah, that is almost it^^;)

-- Yoshiki
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Active activities as Widgets

2007-11-29 Thread Yoshiki Ohshima
  Gerard,

> Yoshi, I think full OLE would be very limited by the hardware.  I 
> have no hardware,
> I have experience with an older generation geode on the Jhai PC project 
> without the video
> sub-processor, and find in many cases, the geode is the little chip that 
> could, but full
> multi media documents running multiple renderers seems out of the 
> resources' reach even
> to this geode fan.

  Well, I know that I can make a user document with a running movie
clip, real time view-finder of camera, spectrum analysis of audio
input, and a user-scripted simulation going at the same time
on B4 (4-5 fps is not so great though). 

  These widgets are running in the same address space but that is
offset by some facts such as Etoys display model is not optimal, our
code for playing movie, copying bits of video frames to make the
player a real end-user scriptable object, FFT are not optimized, etc.
It should be possible to provide an ok experience for most of the time
and I was not talking unrealistic rant, I believe.

-- Yoshiki
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Active activities as Widgets

2007-11-29 Thread Yoshiki Ohshima
  Hello,

> > I would like the ability to exploit other active activities in my own 
> > activity.
> 
> Rainbow is designed to specifically disallow this.

  What I'm going to write here is not really based on the current code
(of which I don't know too much detail), but just an idea (tually
based on an idea of my colleagues)...

  If activities do not always have to run in full-screen, and each
activity exposes some of its capabilities and properties so that they
can be accessed via DBus or some other inter-process messaging
mechanism, these activities don't have to be running in the same
address space, and don't have to share files to work together.  X
Window System can surely display many windows and doesn't care if
these windows are created from the same process or not.  To the user,
a window created by a process for an activity would just look like a
fat "widget".

  It would be OpenDoc on X with process separation, sort of.  In a
sense, this would not be that big departure from current Sugar+DBus
combination.

  A security system for it could still decide which activity can see
whose property, so it can be effective.

> > If a video conference is already active, and the participants wish to 
> > PlayGo I would like to have a panel in the PlayGo application that 
> > allows the video call to continue throughout the game. I came upon this 
> > idea when I was trying to duplicate the Chat activity within PlayGo just 
> > to allow the players to talk to one another. I asked my self, why 
> > duplicate code, connections and system resources that are probably 
> > already running in RAM?
> 
> Sugar will gain a feature called overlay chat, once we've got higher
> priority collaboration stuff completed, which will automagically add
> chat functionality to any (sugarised, python) activity. There's no time
> frame on this feature yet though.

  But think about more general cases.  Imagine a user wants to create
a multimedia document with movie, audio, text, painting, etc.,
etc. laid out in one document on one screen.  (Let's say a realization
of BulletinBoard activity.).  If you can use existing activities to
write yours, it would be so simple.  To the user, it just looks like a
multimedia document and each of these media objects are alive, but
internally, they are different processes, looking at different
directory, and doesn't know each other.

  I think OLPC people heard about it and/or thought about it.  I admit
that if each activity consumes 15MB or such, this wouldn't fly.
Nonetheless I think this is an iteresting thought.

-- Yoshiki
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: clean installation of 643.

2007-11-28 Thread Yoshiki Ohshima
  Alex,

> In the future, if you're only updating the ofw, you should just get
> to the ok prompt and type: ok flash path_to_file

  Yes, I know that, but it is not a good way to check if there is a
bug or not^^;

> Also, after the firmware is upgraded, it reboots the machine, which
> would then lead the machine into trying to do an upgrade instead of
> a clean install if you don't hold the square key. That is probably
> why it created a backup and tried to restore from it. This means
> there may be some issues with the auto-reinstallation process, which
> should be looked into.

  Yes, that explains.  Thank you!

-- 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 
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
> > 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


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: OLPC XEyes

2007-11-26 Thread Yoshiki Ohshima
> Voila. Now you have an "Eyes" project in your Journal ready for  
> endless hours of sillyness.

  Exactly.  One of such sillyness (with educational value in mind^^;)
was my Clock Project.  It (hopefully) shows the power of user
constructable sillyness has actually some value...

http://dev.laptop.org/~yoshiki/etoys/Clock.004.pr

http://lists.laptop.org/pipermail/devel/2007-November/007666.html

-- 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: 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
<>___
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: 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


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
  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


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


  1   2   >