Re: Pippy and Calculate - Evolution Solution

2007-09-10 Thread Reinier Heeres
Albert,

Albert Cahalan wrote:
 Yoshiki Ohshima writes:
   
 Hi, Steve,
 
 I am a lurker, but this is an interesting discussion.  I am a
 developer in health applications working with current dev release on a
 B4.  Calculate is impressive; Pippy is impressive.  They each serve a
 purpose which I think fits into an OPLC evolutionist philosophy.
   
   But, have you actually tried to use Calculate?  It could not detect
 simple errors properly (which is now fixed), takes 10 seconds to
 calculate 3+4, and digits in a long floating point number are
 wrapped around, etc.?
 

 Errors ought to be detected as typed, with the text changing
 color at the point where syntax is violated. So this...

 7+5-9*4)-5

 ...would be highlighted starting from the ')' character.
   
This sounds like a good idea, but I think it could be a little tricky 
sometimes, so only certain errors should be detected at 'type-time'. 
Anyway, I'm putting that on my TODO list...

 It may be good to display the expressions twice, once like
 a normal (C, Java, C#, C++) programming language for editing
 and once in a proper (TeX, MathML, textbooks) rendering.
   
I've thought about this too, and indeed it would be a cool improvement 
for the future! Not sure about the performance of this though...
 For the math itself, I suggest feeding expressions into the bc
 program.
   
An interesting suggestion, and in fact I started out by doing this. The 
bc program, however, is terribly limited in functions and output, and 
would require lots of parsing and reparsing when putting things in and 
getting things out. In the end I concluded that it would be easier and 
more flexible to write a parser myself.
   Again, this is not a criticism toward Reinier, but rather toward the
 fact that keeping up with the rate of change that Sugar and the UI
 guideline is not something a volunteer developer can easily cope with.
 

 Calculate is in Python, isn't it? Sugar and UI changes are deadly
 for the non-Python stuff.

   
 First, there are US toys that are remarkably similar to the OLPC in
 appearance that comprise a simple 4x4 calculator aimed at the under 5
 year old crowd.  Large keys that do arithmetic.
   

 I think the idea of clicking on on-screen buttons is fundamentally
 defective. The keyboard is far easier to use. I suggest displaying
 an on-screen copy of that, with the valid keystrokes highlighted.
 One could still use it with the touchpad, if one wanted to suffer.
 So in the above example, after 7+5-9*4 the ')' key would not be
 highlighted.
   
For older children I agree, for the younger ones I'm not sure. The whole 
keyboard on the screen would be a little crowded I think, although it 
could be interesting to try.
 Having such an on-screen representation would make it easy to
 show letter keys remapped as appropriate. For example, a key
 might serve as sin() normally or as arcsin() when control is
 used. (BTW, control might be made sticky)

   
   Well, if you consider under 5 years old crowd, then you would oppose
 to have variables in Calculate?  (BTW, OLPC is not aimed at the crowd,
 I believe.)  What do you think about the the use of e-notation in it?
 How about all these functions available in the tab?
 

 Arbitrary named variables are probably not good. Cut-and-paste gives
 you a variable, and the most recent answer (or two) could implicitly
 be a variable. If there is a scrolling log of answers, clicking on
 lines of the log could act as variables. Anything beyond that is
 probably getting into spreadsheet territory, but there are low-complexity
 ways to deal with that too: cut-and-paste to a text document, allow
 drag-and-drop to a saved-data area of the screen, or just scribble
 on something physical.

   
   Imagine if the functions that are available in the Calculate mode
 (such as sin, sqrt, etc.) are actually defined in a way that kids can
 understand (for example, the Newton-method for sqrt, or even a
 graphical version for sin and cos), and if the user goes to the Pippy
 mode, the user can look inside the definition and modify them?  That
 would be very constructionist.
 

 Dear my. I'm all in favor of supporting the bright kids, but that
 suggestion sounds like grade 12 honors at minimum.

   
Cheers,
Reinier
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Pippy and Calculate - Evolution Solution

2007-09-10 Thread C. Scott Ananian
On 9/9/07, Yoshiki Ohshima [EMAIL PROTECTED] wrote:
   To reiterate my point, I think the code behind should be *ideally*
 presented in different ways that different learners can understand.
 In Etoys, you can go from visual tile scripting to (say) textual
 Smalltalk to the Smalltalk parse tree to the stream of virtual
 instructions (these are all accessible to the user on XO, BTW).

I'd love to see demo instructions for this on the wiki somewhere.
 --scott

-- 
 ( http://cscott.net/ )
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Pippy and Calculate - Evolution Solution

2007-09-09 Thread Yoshiki Ohshima
  Ivan,

 There were virtually no widespread public systems of education until  
 the industrial revolution. Once they came about, they came about with  
 a purpose: creating skilled industrial workers.

  I would say this part is too much generalization, but,,,

 That's broken. The reason the XO has the potential to change the  
 equation in unimaginable ways is because it decouples teaching and  
 learning, thus fundamentally eroding this brokenness. Suddenly, you  
 can have your cake and eat it too -- if your *teaching* system is  
 great, the XO can happily take the passenger seat and become an  
 invaluable sidekick to the teacher running the show. But hey, if you  
 don't have a teacher AND you're interested, or you simply want to  
 learn more than you're taught, you're no longer out of luck. You get  
 to learn as much as you want, and in whichever way you want --  
 without having to adhere to someone else's idea of what your  
 capabilities are.

I think this describes the big goal nicely.

 I'm here today doing what I'm doing because I was allowed to install
 Linux when I was 9. It took me two weeks to get a working
 machine. By 10, I wrote my first (horrible, never submitted, but
 entirely working) kernel patch to support a SCSI drive that wasn't
 working properly. Those 100 lines took three months to write.  If
 someone said what? Linux and a compiler? You don't get to play with
 that until you're grade 12 honors at a minimum, I wouldn't be where
 I am. It's that simple.

  Hehe, did you know this is exceptional?  For talented people,
especially artist types, the common obstacles such as social pressure,
ignorant adults, etc. don't really matter.  They would just do it.
Hopefully, after the deployment, we will have success stories of
normal people (like a successful classroom) as well as for exceptional
individuals.

  Computers in classrooms is not a new concept, and there are a lot of
success stories and failures.  If we interview those who have
experiences, make up honest documents that describes how to use it to
teach what, it would be a great thing to distribute with XO.  (Ah,
wait.  I know a group that is trying to do this...)

 So, about the original suggestion about making the code behind the  
 math operations viewable, I think it's a fantastic one. It leverages  
 the onion model -- expose simplicity by default, but make complexity  
 easily available for those who care. Don't limit those who want more,  
 but don't force anything on those who don't. If that's how most  
 software was built, our industry would be in far, far better shape  
 than it is.

  You sound like a Smalltalker^^;

  To reiterate my point, I think the code behind should be *ideally*
presented in different ways that different learners can understand.
In Etoys, you can go from visual tile scripting to (say) textual
Smalltalk to the Smalltalk parse tree to the stream of virtual
instructions (these are all accessible to the user on XO, BTW).

  However, there should be a better view/interface somewhere in
between the tiles and Smalltalk code.  And, also the parse tree should
be uniform and independent from Smalltalk.  Yes, getting rid of
Smalltalk and make it possible to plug different languages in the
middle is one of our longer term goals, as you know.

  Thank you!

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


Re: Pippy and Calculate - Evolution Solution

2007-09-08 Thread Yoshiki Ohshima
  Ivan,

  You can almost tell that he is pretty much the only guy who is
  interested in supporting outside developers.
 
 That isn't fair. I speak on behalf of the entire OLPC team when I say  
 that we're extremely interested in supporting outside developers.  
 There's no question about it, and there never was.

  My wording was not right.  I didn't mean to say you guys *don't
have* the interest, but happen to have not been able to spend time on
it.  (And, kudos to Bert was my another point.)  Sorry about that.


 Until then, I can only thank everyone who's been bearing with us even  
 if it feels like there's a line in the sand between 1CC and  
 outsiders at times. Communities are hard work, and we're entirely  
 committed to growing a great one around OLPC. Really. Please be  
 patient with us a little longer, and as Wikipedians like to say,  
 assume good faith.

  Yes, thank you.

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


Re: Pippy and Calculate - Evolution Solution

2007-09-08 Thread NoiseEHC

 On Sep 7, 2007, at 10:05 PM, Yoshiki Ohshima wrote:
   
 You can almost tell that he is pretty much the only guy who is
 interested in supporting outside developers.
 

 That isn't fair. I speak on behalf of the entire OLPC team when I say  
 that we're extremely interested in supporting outside developers.  
 There's no question about it, and there never was.

 What's also true is that -- so far -- we've been in the unenviable  
 position of having to grow a platform (both Sugar and the distro)  
 with heavy low-level development taking place _in parallel_ with high- 
 level activity development. This is extremely difficult to do in any  
 set of circumstances, and doubly so with our resource constraints and  
 timelines. As a result, we haven't been as good as we could be about  
 leveraging the community and outside developers. We're fully aware of  
 this, we know it can be really frustrating for contributors, and  
 we're determined to get better. I expect things will improve  
 significantly in this domain in a couple of months as underlying  
 platform development begins to stabilize and our focus turns  
 increasingly towards activities and other consumers of our platform  
 and APIs.

 Until then, I can only thank everyone who's been bearing with us even  
 if it feels like there's a line in the sand between 1CC and  
 outsiders at times. Communities are hard work, and we're entirely  
 committed to growing a great one around OLPC. Really. Please be  
 patient with us a little longer, and as Wikipedians like to say,  
 assume good faith.

 Cheers,


   
Hmmm, 3 months ago I asked either for a physical machine or a telnet 
account for a locked down physical machine to test the Geode processor 
(LX). I have expected that I will not get a physical machine since there 
are a limited number of these kind of machines and my work is very low 
priority (and I do not have C code right now) but it was a little 
surprise that so far nothing happened about the account. Since my code 
depends on the hardware and the Geode manual is close to useless it 
effectively stemmed my work.

I tried to run my little tests via this mailing list and there were some 
kind people who took the time to help me but it turned out that the 
Geode is below my worst expectations and so requires a lot more tests 
than my patience. (Programming via this mailing list is just as 
productive as scheduling your punch cards in the old mainframe days...) 
For the record, a Geode LX-433MHz has the MMX performance of a Pentium 
MMX-133MHz if my tests are right what I simply still cannot believe...

So I am aware that you have a lot of work to do right now and I am aware 
that 3d rendering is not at the top of your priority list but from my 
viewpoint it is nonexistent developer support. Never mind, it was just 
my frustration.

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


Re: Pippy and Calculate - Evolution Solution

2007-09-08 Thread Ivan Krstić
On Sep 8, 2007, at 1:20 PM, NoiseEHC wrote:
 I tried to run my little tests via this mailing list and there were  
 some
 kind people who took the time to help me but it turned out that the
 Geode is below my worst expectations and so requires a lot more tests
 than my patience.

Send me your SSH2 pubkey and I'll get you an account. I'm not sure  
how you went about previously requesting an account; I handled almost  
all l.o accounts until a few days ago, and I never saw an e-mail from  
you.

 For the record, a Geode LX-433MHz has the MMX performance of a Pentium
 MMX-133MHz if my tests are right what I simply still cannot believe...

The Geode is a low-power, embedded CPU. It is neither the gaming  
platform nor the 3D workstation you're looking for. There's nothing  
surprising about that.

 viewpoint it is nonexistent developer support. Never mind, it was just
 my frustration.

Sorry you had a bad experience. I wish you hadn't given up after  
initially not receiving an account. That bit, at least, we can fix.

--
Ivan Krstić [EMAIL PROTECTED] | http://radian.org
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Pippy and Calculate - Evolution Solution

2007-09-08 Thread Jim Gettys
On Sat, 2007-09-08 at 22:36 +0200, NoiseEHC wrote:
 Wow, fast answer!
  On Sep 8, 2007, at 1:20 PM, NoiseEHC wrote:
  I tried to run my little tests via this mailing list and there were some
  kind people who took the time to help me but it turned out that the
  Geode is below my worst expectations and so requires a lot more tests
  than my patience.
 
  Send me your SSH2 pubkey and I'll get you an account. I'm not sure how 
  you went about previously requesting an account; I handled almost all 
  l.o accounts until a few days ago, and I never saw an e-mail from you.
 
 I have sent an email to [EMAIL PROTECTED] (as it is written in the 
 wiki) and after that exchanged several emails with Jim Gettys. The 
 conclusion was that he said that when I have something running then we 
 can come back to my request. The problem is that I need to run those 
 tests to start coding in C (I have a proof of concept in C#) so it is a 
 catch-22...
 
 SSH2 key:
 I am not sure whether we are talking about the same thing. I need an 
 account for an XO machine which is connected to the internet so I can 
 access it from here (and I have a feeling that you are talking about a 
 project hosting account but I can be wrong). So if I am right and you 
 have not already set up an XO machine then you have to do the following:
 1. Take a developer XO (must be B3 or B4 - LX700 and must have GCC).
 2. Plug in an USB-Ethernet adapter and configure it in Linux.
 3. Take apart the XO and remove the wireless antennas.
 4. Install telnet and FTP.
 5. Plug it into your router and either put it outside of your firewall 
 (so it will not be able to access your machines inside of your firewall) 
 or set up the router to forward telnet and FTP but prohibit any outbound 
 packets.
 6. Email me the passwords for telnet  FTP.
 (2 and 3 are needed if I am an evil hacker since I am not sure if 
 wireless can be firewalled adequately.)

We haven't had the cycles to set up a OLPC system for normal
development; however, we have recently hired a system manager, and can
put it on his queue to set up.
 - Jim

 
 If it turns out that we are talking about the same thing (and you have 
 already set up such a machine) then I will need some time since I am a 
 Windows programmer and have no idea how to connect from Windows to Linux 
 via SSH... (If somebody reads this then I would appreciate some links to 
 a howto.)
  For the record, a Geode LX-433MHz has the MMX performance of a Pentium
  MMX-133MHz if my tests are right what I simply still cannot believe...
 
  The Geode is a low-power, embedded CPU. It is neither the gaming 
  platform nor the 3D workstation you're looking for. There's nothing 
  surprising about that.
 There is. If my tests are correct then it is the first time in history 
 when somebody created a processor which runs MMX slower than integer 
 instructions. See
 http://wiki.laptop.org/go/Geode
 I have downloaded the MediaGX guide (the predecessor of the Geode) and 
 in that guide at least both the latency and throughput were defined. 
 According to the tests the Geode LX has half the performance than the 
 MediaGX clock by clock. I have found that surprising (and forced me to 
 redo all my assembly).
 
 
  viewpoint it is nonexistent developer support. Never mind, it was just
  my frustration.
 
  Sorry you had a bad experience. I wish you hadn't given up after 
  initially not receiving an account. That bit, at least, we can fix.
 
 
 I hope so. :)
 
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel
-- 
Jim Gettys
One Laptop Per Child


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


Re: Pippy and Calculate - Evolution Solution

2007-09-07 Thread Albert Cahalan
Yoshiki Ohshima writes:
 Hi, Steve,

 I am a lurker, but this is an interesting discussion.  I am a
 developer in health applications working with current dev release on a
 B4.  Calculate is impressive; Pippy is impressive.  They each serve a
 purpose which I think fits into an OPLC evolutionist philosophy.

   But, have you actually tried to use Calculate?  It could not detect
 simple errors properly (which is now fixed), takes 10 seconds to
 calculate 3+4, and digits in a long floating point number are
 wrapped around, etc.?

Errors ought to be detected as typed, with the text changing
color at the point where syntax is violated. So this...

7+5-9*4)-5

...would be highlighted starting from the ')' character.

It may be good to display the expressions twice, once like
a normal (C, Java, C#, C++) programming language for editing
and once in a proper (TeX, MathML, textbooks) rendering.

For the math itself, I suggest feeding expressions into the bc
program.

   Again, this is not a criticism toward Reinier, but rather toward the
 fact that keeping up with the rate of change that Sugar and the UI
 guideline is not something a volunteer developer can easily cope with.

Calculate is in Python, isn't it? Sugar and UI changes are deadly
for the non-Python stuff.

 First, there are US toys that are remarkably similar to the OLPC in
 appearance that comprise a simple 4x4 calculator aimed at the under 5
 year old crowd.  Large keys that do arithmetic.

I think the idea of clicking on on-screen buttons is fundamentally
defective. The keyboard is far easier to use. I suggest displaying
an on-screen copy of that, with the valid keystrokes highlighted.
One could still use it with the touchpad, if one wanted to suffer.
So in the above example, after 7+5-9*4 the ')' key would not be
highlighted.

Having such an on-screen representation would make it easy to
show letter keys remapped as appropriate. For example, a key
might serve as sin() normally or as arcsin() when control is
used. (BTW, control might be made sticky)

   Well, if you consider under 5 years old crowd, then you would oppose
 to have variables in Calculate?  (BTW, OLPC is not aimed at the crowd,
 I believe.)  What do you think about the the use of e-notation in it?
 How about all these functions available in the tab?

Arbitrary named variables are probably not good. Cut-and-paste gives
you a variable, and the most recent answer (or two) could implicitly
be a variable. If there is a scrolling log of answers, clicking on
lines of the log could act as variables. Anything beyond that is
probably getting into spreadsheet territory, but there are low-complexity
ways to deal with that too: cut-and-paste to a text document, allow
drag-and-drop to a saved-data area of the screen, or just scribble
on something physical.

   Imagine if the functions that are available in the Calculate mode
 (such as sin, sqrt, etc.) are actually defined in a way that kids can
 understand (for example, the Newton-method for sqrt, or even a
 graphical version for sin and cos), and if the user goes to the Pippy
 mode, the user can look inside the definition and modify them?  That
 would be very constructionist.

Dear my. I'm all in favor of supporting the bright kids, but that
suggestion sounds like grade 12 honors at minimum.
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Pippy and Calculate - Evolution Solution

2007-09-07 Thread Yoshiki Ohshima
  Albert,

  Oh, good.  You weren't simply trying to flame the discussion after
all^^; For now, let me just jump to the last part...

Imagine if the functions that are available in the Calculate mode
  (such as sin, sqrt, etc.) are actually defined in a way that kids can
  understand (for example, the Newton-method for sqrt, or even a
  graphical version for sin and cos), and if the user goes to the Pippy
  mode, the user can look inside the definition and modify them?  That
  would be very constructionist.
 
 Dear my. I'm all in favor of supporting the bright kids, but that
 suggestion sounds like grade 12 honors at minimum.

  No no.  Do you have any reason to believe that cannot be done under
grade 12?  (You can't really mean 12th graders... You mean 12 years
old, right?)

  I happen to have a chat with my boss on this topic, and he told me
an interesting experience with a HyperCard stack called the function
machine done by a elementary school teacher in LA.  This HyperCard
stack basically has a funny looking picture of machines.  This machine
sucks a number, does something on it and spits out another number.
Kids are first to guess what the machine does inside.  First graders
could do simple additions, and often could do linear relation and with
linear relation with additive part.

  Of course, then kids get to open the machine and write the
function (symbolically) in it.  Now, this becomes a sort of quiz; kids
exchange their machines and play with machines made by friends.  This
was largely sucessful with kids from 1st to 4th graders.

  The Newton-method, etc. may be too early for 4th graders, but
understanding the concept of functions is not that magical.  You can
imagine to make a machine with other machines, etc.

  Remember the famous quote from Jerome Bruner:

We begin with the hypothesis that any subject can be taught
effectively in some intellectually honest form to any child at any
stage of development.

  To make this hypothesis stand, the environment and the form have to
be carefully thought out, but like teaching differential vector
geometry with Logo, there are a lot of evidences.

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


Re: Pippy and Calculate - Evolution Solution

2007-09-07 Thread Mitch Bradley
Yoshiki Ohshima wrote:

   Remember the famous quote from Jerome Bruner:

   We begin with the hypothesis that any subject can be taught
   effectively in some intellectually honest form to any child at any
   stage of development.
   

Sounds more like a statement of faith than a falsifiable hypothesis.

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


Re: Pippy and Calculate - Evolution Solution

2007-09-07 Thread Yoshiki Ohshima
  Mitch,

Remember the famous quote from Jerome Bruner:
 
  We begin with the hypothesis that any subject can be taught
  effectively in some intellectually honest form to any child at any
  stage of development.

 
 Sounds more like a statement of faith than a falsifiable hypothesis.

  Well, if you just take this statement without knowing what he has
done to support it, I might agree that it looks like a simple
non-falsifiable hypothesis.

  To talk about childhood education and constructivist theory in
education, Jerry's books are must-read, whether you agree with him or
not (to say the least.  Actually, he is one of *the* guys.)

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


Re: Pippy and Calculate - Evolution Solution

2007-09-07 Thread Yoshiki Ohshima
  Albert,

Again, this is not a criticism toward Reinier, but rather toward the
  fact that keeping up with the rate of change that Sugar and the UI
  guideline is not something a volunteer developer can easily cope with.
 
 Calculate is in Python, isn't it? Sugar and UI changes are deadly
 for the non-Python stuff.

  And why?  If you follow the development in past several months, you
probably found that the difference of language used to write an
activity has very little correlation with when and how often the
activity stopped working.  (A high-level messaging/component model
usually cuts the dependency to a particular implementation language.)

  It seems that what it matters is *person* than language.  In that
regard, we should give Bert (Freudenberg), who has been doing the
Sugar integration part of Etoys, big kudos.  He's been corresponding
with core developers, not only keeping up with the changes but also
give back a lot of good suggestions.

  Take a look at the history of Sugar on Fedora 7 page on the wiki.
(http://wiki.laptop.org/index.php?title=Sugar_on_Fedora_7action=history)
You can almost tell that he is pretty much the only guy who is
interested in supporting outside developers.

  Yes, he is dedicated to do so.  That certainly does the trick.

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


Re: Pippy and Calculate - Evolution Solution

2007-09-07 Thread Yoshiki Ohshima
  Hi, James,

 I'm in Australia.  In our school system we use lowest common
 denominator, class based teaching ... advancement in knowledge and skill
 beyond the plan for the year is socially punished.

  Wow.  Sounds like Japan.

  Bright kids learned
 to hide their ability.  However, even with that, I have met 5 to 9 year
 old kids who could do the math that was to be learned at age 15.
 
 So I have no trouble with the idea of revealing the details of these
 function derivations.
 
 At worst we'll create a generation who know math better than anyone else
 ... and where's the problem with that?

  A little problem is that we would like to get 80% of students to
go beyond a threshold.  May or may not be so high threshold, but
reasonably high.  Definitely we should try to make curriculum that fit
almost everyone in a class except a few hopeless, not a few talented.

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


Re: Pippy and Calculate - Evolution Solution

2007-09-07 Thread James Cameron
On Fri, Sep 07, 2007 at 03:34:18PM -0700, Yoshiki Ohshima wrote:
   No no.  Do you have any reason to believe that cannot be done under
 grade 12?  (You can't really mean 12th graders... You mean 12 years
 old, right?)

I'm in Australia.  In our school system we use lowest common
denominator, class based teaching ... advancement in knowledge and skill
beyond the plan for the year is socially punished.  Bright kids learned
to hide their ability.  However, even with that, I have met 5 to 9 year
old kids who could do the math that was to be learned at age 15.

So I have no trouble with the idea of revealing the details of these
function derivations.

At worst we'll create a generation who know math better than anyone else
... and where's the problem with that?

-- 
James Cameronmailto:[EMAIL PROTECTED] http://quozl.netrek.org/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Pippy and Calculate - Evolution Solution

2007-09-06 Thread Steve Fullerton
Hi All,

I am a lurker, but this is an interesting discussion.  I am a
developer in health applications working with current dev release on a
B4.  Calculate is impressive; Pippy is impressive.  They each serve a
purpose which I think fits into an OPLC evolutionist philosophy.

First, there are US toys that are remarkably similar to the OLPC in
appearance that comprise a simple 4x4 calculator aimed at the under 5
year old crowd.  Large keys that do arithmetic.

Guido in his wisdom, incorporated and uses in his tutorial the
calculator attributes of python to convey --- not arithmetic --- but
the meaning of interpretive to a neophyte programmer.

I think both activities have a place, and further, should/could be
seamlessly integrated so that a child in the Ivory Coast who learns
arithmetic using Calculate can discover Pippy and say: Zoot alors! Je
peux faire la même chose dans Pippy ! or something like that.  Very
constructionist.  A intellectual bridge to understanding and learning
python prior to being able to comprehend a Fibonacci series (although
we want kids to get there as quickly as possible.)

As a very simple example of seamlessness, I would change the enter key
in the Calculate activity to mimic exactly in size/shape the enter key
on the OLPC keyboard -- e.g. square with check box symbol and maybe do
the same in Pippy in place of the print key that Yoshiki suggests?

I don't think we can escape the fact that the OLPC activity suite will
ultimately have to be configurable at the national, school, teacher,
and pupil levels.  I think there is a reason and purpose for both
Calculate and Pippy.

Some p.s. thoughts --- Many Applications/Activity developers seem to
have a natural inclination to add complexity as the activity evolves
--- witness MS Windows.  In the OLPC I would suggest that we strive to
add simplicity.  Will millions of children who grew up using Sugar
want to transition to MS Windows when they come of age?  I think/hope
not.

/Steve



On 9/5/07, Yoshiki Ohshima [EMAIL PROTECTED] wrote:
   Hi, Chris,

  (I'm the Pippy author.)

   (We didn't have much time to discuss with you while I was in
 Cambridge two weeks ago...)

Imagine if Pippy has a button called Print!, which would be
  located right next to the Run!  button.  And, if Print! prints
  out the results of running the program into the bottom pane, that
  is pretty much all we need.  (For the record, the workspace in
  Etoys has been there from day one for this purpose.)
 
  This is a useful idea, thanks.  At the moment, Pippy doesn't keep any
  variable/program state inbetween Run!s (each run is a new Python
  interpreter), so there is no way to do Ans*2-style calculations.
  It sounds like you want Print! to keep a single interpreter that
  reinterprets the source pane at each click.

   I didn't think about that aspect, but keeping state will be useful.

  The first version of Pippy used a single Python interpreter that
  executed the program source code in this way, without losing state,
  but that makes it possible to write programs that will not run on a
  fresh interpreter later (as they refer to state that was generated
  as a result of code that no longer exists, or a previous run of the
  code), so I decided against keeping that.

   Yeh, that can happen in a typical workspace programming.  But in
 Pippy's setting, it would not be much of a problem.  Keep button can
 store the state altogether into a journal entry.

  Oh!  We could have an example in Pippy that, when run, gives you a
  Python interactive shell.  That should work well; it gives you the
  mode you want (without requiring an extra button), and is useful in
  any case.  I'll do that.
 
  I don't think Python's evaluations are useful as a calculator to
  a child, though.  You would have to explain this:
 
   2+2
  4
   3/4
  0
 
  I would like to add a simple graphics screen to Pippy, but I don't
  intend it to get many more features past that -- I'd like to keep
  it at a simple introduction to input/output programming.

   Yeah, I was aware of the division (/) problem (when I see the last
 digit in Calculate falls off to the next line.  It would be nice if
 you can override the division operator...

  We have a real problem of shortage of man-power, so replacing
  smaller activities that take more time to maintain and document
  with more powerful ones is probably a good thing.
 
  Just a note that Reinier Heeres is a volunteer, so isn't pulling OLPC
  man-power away from any other projects.

   Well, a volunteer can certainly contribute one of OLPC projects,
 right?

   I now see that the timeframe and practical matters will probably
 prevent us going to the nice merging point between these different
 projects.  However, I still contend that similarity is close enough.
 So, for example Pippy doesn't have to be confined this is a Python
 thing mind, but take advantage of similarity.

 -- Yoshiki