[sugar] ...then add a can of condensed milk - was re: Stirring the pot (was re: Education?)

Antoine van Gelder hummingbird
Thu Apr 5 17:02:30 EDT 2007

Edward Cherlin wrote:
> On 3/12/07, Antoine van Gelder <hummingbird at hivemind.net> wrote:
>> Awesome.
>> Whole bunch of folk are starting to come out of the woodwork who have
>> been thinking for some time about fundamental abstractions.
> Right on.


>> I read the most excellent Dr Kay's stupendous essay @
>> http://www.vpri.org/pdf/human_condition.pdf this morning and thought
>> that the philosophical discussion could perhaps be dragged on a little
>> in an attempt to raise the bar of what we believe to be possible so I'm
>> going to hijack a metaphor, pour a glass of red wine and riff a little
>> on some of the themes he brings up.
>> Two things when we put kids first: 
>> 1) Transmitting the maps of reality we have created.
>> 2) Transmitting the art of map making.
> 3) Transmitting the art of exploring

Okay... three things when we put kids first!

>> With the objective of 1) we can fudge it as much as we like and
>> BigBoxes'o'OpaqueSpaghetti(tm) are not really that big a obstacle.
>> With the additional objective of 2) we must strive to not only deliver
>> tools that are able to build maps up from the most fundamental elements
>> in order that kids are free to construct and deconstruct at leisure but
>> these tools must also be capable of building new map making tools.
> For 3) we need the lowest possible ratio of effort to work
> accomplished. This is IMNSHO accomplished in a (write many times, run
> only the last one maybe once) language like APL or possibly some other
> functional/applicative language. If you want to claim another language
> for this purpose, I will be happy to organize a competition so that we
> can discuss our claims on a factual basis. APL is what Morgan-Stanley
> uses when it has to complete the analysis of a deal within two hours.
> I have heard about a professor allowing students to do homework in
> either APL or Pascal, and then rescinding permission for the APL
> because it was too easy--the students weren't having to spend enough
> time on their homework.

I know almost nothing about APL.

Can you please recommend a good introduction to the language ?

>> In the endless quest for clarity, allow me to restate the above in
>> slightly different words:
>> a. Kids have, at most, two decades between the start of their
>> educational journey and deciding on their life's work. They absolutely
>> cannot afford to go down every blind alley explored over the last 2.5K
>> years. This requires a tool that makes it easy to create maps that cover
>> broad swathes of the curriculum.
> I still say, let them look around and choose, and then advise each
> other. There is no more heinous sin in software design than deciding
> what the user wants for him. None of the children will go down every
> blind alley, but like the proverbial infinite Boy Scout troop that one
> of my friends uses for program design, *enough* of them will explore
> each possibility.

I also like distributed architectures.

A lot!

>> b. If kids don't understand our maps on a fundamental level those maps
>> are going to be navigating them instead of them navigating the maps.
>> This requires a tool that can render maps of reality at any level of 
>> detail.
> Or worse, they will ignore our maps, and all maps of any kind.

It is very sad when that happens with a talented individual.

>> c. A very small, but _immensely_ important, percentage of kids are going
>> to be drawing their own maps... This requires a mapping tool that can be
>> used to extend  its own abilities as well as create entirely new mapping
>> tools.
> One of the main reasons why there are more programming languages than
> anyone can count is that the criteria of goodness for languages are
> highly personal and in many cases domain-specific. So not *a* mapping
> tool, but a kit of tools for building mapping tools. Otherwise we will
> be giving kids a hammer and wondering why they treat everything as a
> nail. Or worse, teaching them to pound nails, and wondering why they
> treat every tool as a hammer, even a nailgun.

Dang! I had to go out and buy some Lego before I started remembering 
that! Nicely put! Thank you!

>> Okay, we're on to three things.
>> Now, just because I had a [bad day]...
> [snip]
> Pobrecito!

*sniff* *sniff* *twitch*

>> I don't think the state of the art (hardware&software) is yet at the
>> point where XO can deliver the Dynabook (OK, someone had to say it) and
>> it probably won't even be SqueakAsPlatform
> Did I miss something? The Geode processor is faster than the 80 MHz
> Cray-1, or more directly to the point, a Xerox Alto. What more do we
> need? I read that Squeak will be included on every XO. Or are you
> saying that it doesn't have room to do enough?

Hahaha! Difficult Koan!

If the hardware is too slow to run the code then we must rewrite the 
code but if the hardware is getting faster than we can improve our code 
then we need to choose between writing better tools or software!

It is SUCH a blessing the XO isn't faster!


Or to put it another way... for me DynaBook is not so much the hardware 
it is running on but rather the combination of:

   a. hardware
   b. software
   c. new concepts
   d. the kinds of questions being asked by their owners

I absolutely believe that the hardware is capable of running anything in 
the above list we can throw at it, but I also think that in order for 
folk to be able to use their Dynabook there is a bit more work still to 
be done on b and a LOT on c and d - maybe another seven years or so ?

>> So what's the difference between the XO and its successors ?
> The successors will be designed in large part by the children.

^5^ !!

>> I posit that the difference is learning complexity.
>> A bright kid orientated towards computers and starting from scratch
>> would probably take around five years[3] to truly master the XO
>> environment from top to bottom and be able to do RealWork[4] on it.
> Back up there a moment. Your notion of mastery is evidently different
> from mine. The older children can do RealWork on the XO on day 2 with
> a proper introduction (I'm assuming that they are required to *play*
> with the XO on day 1). Modifying educational software modules,
> creating Web pages, contributing to Wikipedia...Within weeks some of
> them should be doing e-commerce. Basic sysadmin skills should take
> about a year for the canonical bright 12-year-old. So who are you
> talking about? Kernel hackers? Language implementors? Who else needs
> to know that much? Or are you talking about the time to master one of
> the unnecessarily difficult programming languages, like C, that almost
> everybody thinks are easier than APL or LISP because they hide the
> math away where you can't get to it?

*wicked grin*

Yup, by mastery I mean that which a child is required to know in order 
to design and build hir[1] XO's successor.

>> This
>> is 25% of the time alotted to hem before they must decide on their
>> life's work.
> Most of them don't even need to understand the computer in order to
> get a job or start a business. They can hire the nerds from their
> classes for that.

Yah, it's not most of them I'm worried about!

I am predicting that a secondary effect of the first models of XO's 
going in will be that the a very small group of widely dispersed kids 
born in other parts of the world with talent will, for the first time, 
have a space which extends beyond their immediate surroundings and which 
they can plug into and grow into.

These are the children who's dreams will not only have an impact on the 
countries they were born into but who will also, one day, impact the 
whole world.

I strongly believe that it is of the utmost importance that a special 
effort be put into addressing their very particular needs and making 
their jobs easier.

However, this effort should not be at the expense of the needs of the 
other children!

>> So my questions, in order of temporal importance, are:
>> 1) What problems solved and what features added NOW would _increase_ the
>> payback of that time investment ?
> Adding training in international business would have the greatest
> financial payback. See http://wiki.laptop.org/go/Earth_Treasury for
> suggestions on how to go about that.

*grin* - I should have said I was talking about the software stack here 
but point taken!!

>> 2) What can be done NOW to _decrease_ the duration of that time 
>> investment ?
> Various people have proposed answers to that question in the pure
> computing context. Ken Iverson considered saving thinking time and
> effort one of the most important design goals of APL. See his Turing
> Award lecture Language as a Tool of Thought for details. Being able to
> describe computer hardware in APL was another major design goal. See
> his paper with Adin Falkoff, A Formal Description of System\360. See
> also the book Digital Systems: Hardware Organization and Design for a
> course in describing computer hardware in a version of APL that
> compiles to wiring lists, in a form suitable as input to chip layout
> software.



Thank you.

> Chuck Moore was a bit despondent at the thought of how few projects
> one could do in a lifetime using conventional tools, and wrote FORTH
> with the goal of multiplying his personal productivity by an order of
> magnitude or better while reducing code size dramatically. The FORTH
> compiler is half a page of FORTH, and the FORTH inner interpreter is a
> single instruction on a number of computer architectures (indirect
> jump with autoincrement). FORTH systems are implemented in about 8K of
> assembly code for primitives, with all the rest written in FORTH
> itself.

I was reading something today that finally got me to grok 'threading' 
... I had a copy of a FORTH implementation called 'White Lightning' for 
my Commodore 64 which included a sprite editor and a game development 
environment - I wish I'd understood more about the implementation at the 
time as I would have dug a lot deeper if I had.

Viva free software !

>> 3) Once the entire system fits into 20 000 lines of code... what is the
>> next important metric ?
> You can do that in FORTH right now. Or a LISP machine, or APL/J. I can
> point you to the source code packages. But I don't think you are going
> to get all of Smalltalk or Python into 20K lines. (Correct me if I am
> wrong.)


/me has a case of Czechoslovakian beer that says the fonc team pull it off!

Thank you for taking the time to reply Edward, you've provided me with a 
lot of food for thought.

  - antoine

[1] gender neutral pronoun

More information about the Sugar-devel mailing list