Wednesday, November 07, 2007

visually manipulating collections in etoys' Playfields


Markus Gaelli has a 15 Puzzle etoys demo program at his emergent site (excellent site for etoys projects)

Before getting onto coding the puzzle I became quite absorbed about the potential of etoy Playfields. The puzzle consists of 16 little Playfields (which in turn are containers for their own "text" numbers) inside a big Playfield.

What I see in Playfields is the opportunity to manipulate collections visually which I haven't seen in any other program. eg. Game Maker doesn't represent for loops visually and it is hard to teach them to students, in my experience.

I was also intrigued by the notion that Smalltalk adopted "collection based programming as a central tenet" and "that modern functional programming languages such as ML and Haskell have followed this lead". The whole approach is not based on looping constructs but on creating a new collection containing the desired elements (Squeak by Example, p. 195). I'm unsure about how much of this approach can be demonstrated in etoys - but it does suggest a different sort of way of teaching collection manipulation that may be more accessible to many learners

This post is just getting started with how to work with collections in Playfields.

The screenshot above is a collection of Playfields (which contain text numbers) contained within a larger Playfield. The resultant collections category in the larger Playfield's Viewer looks like this:


This opens the door to visually manipulate quite a few things:

count: number of objects that the Playfield contains
cursor: the currently selected object, in this case 9 (the cursor can be visible or invisible)
firstElement: I have auto-line-layout switched on so the objects are layed out neatly with the first object in the top left hand corner
include at cursor | dot: This adds a new object to the Playfield at the cursor. You need to replace the default dot with the object you want to add.
include: dot: Adds a new object at the end of the other objects (replace dot with the object you want to add)
numberAtCursor: ?? not sure what this is for
playerAtCursor: The object currently at the cursor
removeAll: remove all objects from the Playfield
shuffleContents: shuffle the objects in the Playfield
stringContents: displays a linear text representation of the Playfield contents

I've written a program which automatically populates a Playfield with the elements of the 15 Puzzle. I'll blog about that separately.

Quanta's OLPC production line


Quanta's OLPC production line. Larger view.

"Reaching Mass Production is no small task" - The Weekly Squeak

turtle graphics in etoys: possible but not elegant



You can create a parameter (but only one per procedure) and you can't rename them! So write a first procedure to setup your parameter:

Then create a number variable and create a second procedure to increment your parameter value, as shown. You initialise your number values from the object's Viewer.

The etoys version from the squeakland site doesn't have a repeat command. But Pierre-André Dreyfuss pointed out that you can write your own. Also the repeat command has been added to the OLPC etoys version

Project available: http://www.users.on.net/%7Ebillkerr/etoy/turtleGraphics.001.pr

how to make a "text" counter in etoys

I need a counter for a larger project. I needed help to do it (thanks Paul) so thought I should pass on the technique.

Goal: By clicking on a shape a counter increments

This is for making a large counter, which displays in a specialised text player. Another (easier) way would involve using a detailed watcher but that only has a small display. This method involves learning something about setting variables and using Text so it is has broader application.

Drag a "Text" out of the Supplies flap
Have a look in the Viewer, it has a Text's numeric value tile in the basic category. Click in the value and type a number and that number will appear where the "Text" is

Make a new shape for clicking on. I made a rectangle and coloured it green. I kept the name at the default, "Sketch"

Add a variable to Sketch, I called mine "counter", then change value type to Player. Note that Text types are not available.

So you now have to pass the Sketch counter player variable a text tile. This is how you make a text type.

Make a Sketch script. Then drag Sketch counter by the assignment arrow to the script. The line will read:
Sketch's counter <-- dot Then open the Text viewer. Get it to hand you a "tile representing me" from the menu at the top. Then replace the 'dot' tile with this new 'Text' tile (see diagram)
So, now we have made a counter variable which is of text type!

Make a new Sketch script. I called this script "increment"
Reopen the Text viewer and drag Text's numeric value to the new script by the assignment handle. It will read:
Text's numericValue <-- 0 (just click on the 0.00 and replace it with 0 and the number of decimal places will adjust automatically) Reopen the Sketch Viewer and drag Sketch's counter (not by the assignment arrow) to replace Text's with Sketch's counter (see diagram)
Now modify the code so it reads: Sketch's counter numericValue increase by 1 (see diagram)

You can modify the Events which trigger the code by clicking on the "normal" button:

I changed mine to mouseDown, so I can increment the number by clicking on the green shape which is named Sketch.

Project available: http://www.users.on.net/%7Ebillkerr/etoy/counterByOne.005.pr

Saturday, November 03, 2007

one school in India

Joel Stanley sent me a link to a detailed report of a trial of the OLPC at Khairat school in India (Khairat Chronicle), written by Carla Gomez Monroy, an OLPC learning consultant

It contains the details of how the OLPC is integrated into the day to day workings of the school, the role of the teacher, the learning culture of the classroom, how the students use it, how some of the parents have become involved, how the OLPC has been a motivator to improve school attendance and a detailed description of the broader culture and how the OLPC impacts onto it.

Stunning, copious photographs illustrate this extremely informative chronicle. The caption of the photo I have included says:
Teacher said, his relationship with the children was closer, in the sense that together they explore the XO

Friday, November 02, 2007

how to make space invaders in etoys


Make a bullet object

Make a new variable, call it newBullet and change the type to Player
variable > newBullet
menu > change value type > Player


Script your own Create Event, which makes new bullets
drag newBullet by assignment handle to the script
miscellaneous > bullet's copy, replace dot

Make another script which moves the bullets
bullet forward 5


Go back to the Create Event script and send a message to the new bullets that are being created to move
scripting > bullet start script
then replace bullet with the newBullet Player variable


Now whenever I run my Create Event it creates a new bullet which is fired off. What happens is that the new bullet instances are named bullet1, bullet2, etc. and each bullet has its own Player, which runs its own move script. You can't see this happening unless you grab one of the new bullets and open its viewer.

With all the new bullets I need some way to tidy up. So I'll write some scripts to clean up the siblings, just so I can play around and be able to tidy up afterward

Write a bullet delete script


Write a remove all siblings script which calls the bullet delete script


I want keyboard control for firing off bullets

Middle click on the World and open the World Viewer. Then open the input category and you will see world's lastKeystroke. Press some keys on the keyboard and you will see the values change in the viewer.

Tear off a Yes/No Test unit and drop it into the bullet create script

Drag world's lastKeystroke (not by the assignment arrow) into the Test section of the test unit. Then replace the part after the = sign with <up> arrow. Move the other already existing (three) lines of the create script into the Yes section of the test unit.

We want to simulate a keypress, ie. not have the <up> arrow always in place - if that happened we would have bullets being created continuously. Add a
world's lastKeystroke = <down> assignment to the bottom of the Yes section, so that <up> arrow turns into <down> arrow immediately after it is pressed

Since we are now doing keypress control we will have run the ticker continually on the create script. Unless we do something about it then this will be passed onto the create scripts of all the new bullets. So it's best to stop the create script running unnecessarily on the new bullets. Add a stop script create line to the Yes section of the test unit



I now want to destroy the surplus bullets as they reach the edge of the screen

Tear off a Yes/No Test unit and drop it into the bullet moves script.
test > bullet obtrudes (boolean)
Obtrudes means whether the object sticks out over its containers edge
Add bullet obtrudes (don't drag by assignment arrow) to the Test condition. Move the forward command to the No section of the test unit


At this point we want to stop the move script ticking and delete the bullet
scripting > bullet stop script



My project available: http://www.users.on.net/~billkerr/etoy/invaders.006.pr

Karl Ramberg's old tutorial: http://209.143.91.36/super/503 was helpful

Summary: So far we have created multiple bullets, fired them and destroyed them when they reach the edge of the screen

New things learnt:
  • How to create a Player variable
  • How to program key strokes
  • How to write your own Create, Key press and Destroy events
  • How to remove siblings and keep the original object
  • How to stop and start scripts programmatically

Still to do:
  • Introduce the shooter and move it left and right with the arrow keys
  • Create the new bullets where ever the shooter happens to be
  • Introduce enemies and get them moving down the screen towards the shooter
  • Make the enemy change to more threatening appearance as it gets closer
  • Shoot the enemy, create explosions, display points scored
  • Add dramatic music
  • Have good images for shooter, enemies and background image

Thursday, November 01, 2007

truth slips from view in the sea of post modern knowledge

Where have all the intellectuals gone? by Frank Furedi

We have a "knowledge society" in which any piece of knowledge is regarded with skepticism and can be contested indefinitely. The world is so complex that anyone who claims to know the way forward is regarded with suspicion. We value knowledge but are drowning in the sea of knowledge.

Furedi outlines a number of trends that are working in synergy against public intellectuals:

Instrumentalism: Knowledge is for practical purposes only

Disenchantment with the Enlightenment legacy: The previous century is perceived as one where big ideas such as communism were tried out and failed. People came to see rationality as destructive. Rationality is now marginalised by the sacred and spiritual, eg. nature worship

Relativist approach to knowledge and other cultures: Our western culture has no special merit. Other cultures have a spiritual dimension that we lack.

Knowledge domains are evaluated externally to themselves: Rather than respecting the internal dynamics of knowledge development it is evaluated by criteria such as economic advance, personal identity, providing therapy or social engineering

High standards are attacked from both the Left and the Right: The Left from the point of view of "inclusion", the Right from the point of view of "back to basics". The cultural "Left" (what I call the pseudo left) is more dominant, they promote a politics of inclusion, participation and flattery. It sounds progressive to include people. But it's not a response to a demand from below, it's imposed from above by cultural commissars who are looking around for some way to "engage" the "disengaged masses"

Post-modernism denies the whole concept of Truth: All truth is regarded as relative, it depends on your local conditions and point of view. The universal values from the Enlightenment have to be replaced by the "progressiveness" of particularity and situatedness

Public intellectuals, who wage battle for public hearts and minds and who influence overall social development have been replaced by the professional expert of a particular but limited knowledge domain. These experts use hard to understand technical specialist language. Many of them are academic careerists

We don't hear people speak passionately about the truth like Rosa Luxemburg anymore:
"But this much I know, that it is our duty, if we desire to teach truth, to teach it wholly or not at all, to teach it clearly and bluntly, unenigmatically, unreservedly, inspired with full confidence in its powers"
This book is not without fault but it ought to be read and discussed

Prompted by artichoke's The truthiness of Te Kotahitanga and "Haven't got a clue syndrome" in Art Galleries

Wednesday, October 31, 2007

creative teaching or pandering to the philistines?

A vision of students today - a new video by Michael Wesch

This opens with graffiti on a (fade to grey) lecture room wall reminding us that there is not much difference between attending a boring lecture and doing hard time in gaol as a political prisoner being tortured by fascists:
"If these walls could talk"
"What would they say?"
Then a document appears on the screen and we are informed that 200 students made 367 edits to it and surveyed themselves to bring a message to the viewer of this video.

Implication: Because a lot of students made a lot of edits it's probably "insightful". That doesn't follow actually. Some collective work is good, other collective work is crap. We should never judge this by the number of contributors or edits but by the work itself.

Not sure where Michael Wesch is going with this, it does say “to be continued” at the end. The students looked a bit uncomfortable to me, not quite certain that it was OK to boast about their lack of reading, missing lessons or not paying attention.

My idea of a University is that it ought to challenge and be difficult in a way that is also engaging but without pandering to engagement in a populist, philistine manner. Michael Wesch may be engaging his students but it’s not clear where he is going to take them or even whether he sees that as part of his role

Thanks to daniel livingstone for this one

Monday, October 29, 2007

Negroponte art far more fair than Vota

This poem from Wayan Vota, who loves the OLPC technology but dislikes Negroponte intensely, reveals him to be a talented constructionist polemicist:
But soft! What light through yonder assembly line breaks?
It is the East, and OLPC is the sun!

Arise, fair sun, and kill the envious Intel moon
Who is already sick and pale with overclocked grief
That thou her maid art far more fair than she.

Be not her sales maid, since she is envious.
Her vestal livery is but slick and white,
And none but fools do Windows. Cast it off.

It is Linux! O, it is my love!

squeak on the OLPC in Brazil


This video of kids learning squeak etoys on the OLPC in Brazil, with English subtitles, has a nice feel to it. It just works.

Thanks to Jecel Assumpcao Jr

Sunday, October 28, 2007

Kedama: a GUI-tile scriptable massively-parallel particle system

Kedama is the StarLogo approach imported to etoys. ie.
... a programmable modeling environment for exploring the workings of decentralized systems -- systems that are organized without an organizer, coordinated without a coordinator ... you can model (and gain insights into) many real-life phenomena, such as bird flocks, traffic jams, ant colonies, and market economies
I've been arguing on the Victorian teachers list recently that this is the sort of thing that computers ought to be used for in schools, to add something unique and valuable to the curriculum

Kedama comes with etoys (squeak). It was developed by Yoshiki Ohshima, who is a member of Alan Kay's Viewpoints Research Institute team

There is a wonderfully clear tutorial Linda Kao, with detailed explanations, on the squeakland site.

Visualise kedama as consisting of 3 layers:
  • Kedama world layer
  • Patches layer 100x100 grid (each patch might consists of just 2x2 pixels) and each cell can be assigned an integer value
  • Turtle breeds (particles). A breed is a group of turtles. Turtle breeds are scripted as a group. You can also have multiple breeds for more complex simulations
The turtles can alter their behaviour by interacting with the patch variables. For example, if a patch has a value of 1, then any turtle entering that patch could be programmed to change colour

So, for an epidemic simulation:
  • Create hundreds of turtles (one breed)
  • Infect one of the turtles, show this by displaying that turtle in a different colour
  • Use an infected turtle to infect a patch
  • If any other turtle enters an infected patch then it becomes infected
  • Run the simulation, see how fast the infection spreads

I include some screenshots of three scripts and the developing epidemic:











Some things I learnt:

If I pull out the third line of the infect script and then run the setup script then all turtles immediately become infected

Looking behind the scenes I see that Squeak has a doSequentialCommand: keyword method which somehow carries out the commands to the turtles in each breed one by one. Hence the setup script stops at the point of infecting a single turtle

If I pull out the "patch clear" line of the spread script then the infection spreads much more quickly. This is equivalent to infected surfaces continuing to remain infectious. This illustrates the potential of the patch approach, much more versatile than programming collisions.

spread script pseudocode:
  1. move all turtles
  2. clear all patches
  3. If turtle is infected then infect the immediate patch
  4. If another turtle which is NOT infected enters that patch then infect that turtle

labour white ants black responsibility

"... if I had a dollar for every time I heard that phrase “social justice” fall easily from the lips of a Labor politician in my home state, I would be an extremely wealthy man"
- Noel Pearson
There is the aboriginal rights agenda and the aboriginal responsibility agenda.

Both are important but the current reality of widespread aboriginal welfare dependency, substance abuse, child abuse and domestic violence make the responsibility agenda more important.

The indigenous child abuse documented in the Little Children are Sacred report created a political climate where the responsibility agenda backed by Noel Pearson received support from both Liberal and Labour Parties. Rudd has promised that the Northern Territory (NT) intervention will continue under federal Labour and would be reviewed in 12 months

However, the NT Labour machine is deeply divided about the intervention with Chief Minister, Clare Martin and her Family Services Minister, Marion Scrymgour only sometimes paying lip service to it while white anting.

Scrymgour, an indigenous MP, described the intervention as the "black kids' Tampa" and labelled Canberra's approach as "vicious new McCarthyism" (in a speech last Wednesday, in Sydney)

She continued:
"Aboriginal territorians are being herded back to the primitivism of assimilation and the days of native welfare". "It has been a deliberate savage attack on the sanctity of Aboriginal family life."
On the other hand aboriginal backbencher Alison Anderson, who represents the central Australian electorate of Macdonnell, has responded:
"It is a disgrace the people who know nothing about living among the poverty and abuse in remote communities have condemned the intervention"

"My people need real protection, not motherhood statements from urbanised saviours. I live my law and culture and represent my people regardless of what's fashionable. My people need the help and want the help from this intervention."

Clare Martin says she's behind the intervention except for the permit revocation plan, the alcohol laws and the whole panoply of work for the dole and welfare reforms. What's left?

Noel Pearson has critiqued Rudd's general critique of Howard as it applies to the situation of aboriginal people:
Let me explain my reservation with reference to Opposition Leader Kevin Rudd’s critique of what he describes as the neoliberal fundamentalism of the Howard Government: “Modern Labor … argues that human beings are both ‘selfregarding’ and ‘otherregarding’. By contrast, modern Liberals … argue that human beings are almost exclusively selfregarding.” Rudd concedes that the selfregarding values of security, liberty and property are necessary for economic growth. He argues that the other‐regarding values of equity, solidarity and sustainability must be added in order to make the market economy function effectively, and in order to protect human values such as family life from being crushed by unchecked market forces.


My reservation about this analysis is that it is mainly concerned with those who are not deeply disadvantaged in a cultural and intergenerational way. Kevin Rudd’s father was a sharefarmer, and his untimely death brought hardship to his widow and children. But hard work and appreciation of education were passed on to Rudd from his parents. Rudd’s ideological manifesto is concerned with the effects of neo‐liberal policies on people who may have less bargaining power than the most sought‐after professionals, but who are nonetheless firmly integrated into the real economy – not only because they have jobs, but because they are culturally and socially committed to a life of responsibility and work. I welcome the debate Kevin Rudd sought to revitalise about the long‐term effects on most working people of neo‐liberal policies: what will the effects be on family life, on people’s sense of security and purpose, on social cohesion? How great is the risk that families of the lower strata of the real economy will descend into the underclass?


These are real issues, but the important question from an African‐American or Aboriginal Australian perspective is: what is the correct analysis of self‐regard and other‐regard in the context for those already disengaged from the real economy? Disengagement is the problem in Cape York Peninsula ...



The moderate left, as represented by Kevin Rudd, would probably argue that neo‐liberal dominance increases the number of disengaged people and the difficulties of returning them to the working mainstream. This may well be true. However, disadvantage can develop and become self‐perpetuating, even without neo‐liberal government policy. In Australia, Aboriginal disadvantage has become entrenched during decades when social democrats, small‐l liberals and conservatives influenced policy; many policies for Indigenous Australians have been liberal and progressive.

The insight which informs our work in Cape York Peninsula is that disengagement and disadvantage have self‐perpetuating and cultural qualities – problems not covered by Rudd’s analysis. These are the problems of the underclass, people who are psychologically and culturally disadvantaged. (Rudd does not spend time thinking about the underclass. In the scramble for the political middle, who does?) His is an analysis of the prospects of the upper 80 or 90 or 95 per cent of society, and how they will fare under social democrat or neo‐liberal regimes. If Rudd’s analysis were extended to the truly disengaged, his model would probably be interpreted like this: some people are successful and, as well as being self‐regarding, they should be other‐regarding. And then there are the disadvantaged.

The problem is that it is assumed that the life chances of the disadvantaged depend on the other‐regard of the successful – either a precarious dependency in the absence of state institutions, or an institutionalised dependency which my people have come to know as passive welfare. In reality, what is needed is an increase of self-regard among the disadvantaged, rather than strengthening their belief that the foundation for their uplift is the welfare state and the other‐regard of the successful.
- source

These things seem clear to me:
  • Pearson has a far deeper understanding of the situation facing aboriginal people than Rudd, Howard or any other politician
  • Pearson's support for the Federal Government intervention in the Northern Territory is clear but also qualified, he has never supported every aspect of the intervention
  • Labour under Rudd project themselves as humanists who place more stress on "other regarding" than "self regarding" than do the Liberals. This makes them more predisposed to withdraw support from the hard decisions that need to be made wrt aboriginal people
  • Some significant Labour politicians (eg. Clare Martin) are white anting the intervention whilst paying a bit of lip service to it
  • The aboriginal welfare bureaucracy and some of the traditional Labour social base will pressure Rudd to wind back the intervention if and when he become Prime Minister. It remains to be seen how he will respond to this

reference: (source of quotes and information about NT Government stance):
The Weekend Australian, October 27-8, 2007

Friday, October 26, 2007

how to display etoy projects live on the web

Thanks to help from Paul I now know how to display etoy projects live on the web, as a web browser plugin. To run them you will need to get and install the squeak browser plugin

car with steering wheel
  • Left click on the clock on the script to get the car moving
  • Middle click on the steering wheel and steer using the rotate halo, the bright blue one on the bottom left
  • To see the Viewers middle click on the object (car or steering wheel), then left click on the cyan eye halo
the html (put it all on one line)
http://www.squeakland.org/project.jsp?
http://www.users.on.net/~billkerr/etoy/redcar.001.pr

explanation: http://wiki.squeak.org/squeak/1380

get yourself an imaginary friend

Thinking about thinking

This article argues that the world is made of mappers and packers. Mappers are better thinkers but are seriously outnumbered, the general culture is packer culture. I'll write a summary for my own benefit but its best to read the whole thing. It's well written and contains many pithy aphorisms which made me smile.

Packer traits:
  • procedural thinking, we have a problem, what is the procedure for solving it?
  • draw up action based balance sheets
  • assembly line approach
  • pushing bits of paper around
  • deal with complexity by developing more complex procedures
  • stop asking "Why?" and get on with it
  • overly concerned about certainty
  • knowledge is made of up of discrete packets - which packet applies to the current problem, do I have it, if not, who does?
  • experience learning as task driven by external forces
  • can be blind to or excuse flaws in their own logic when they are pointed out

Mapper traits:
  • reflection is important
  • take personal responsibility for problems and explore the options self reliantly
  • develop rich, strong self connected knowledge structures
  • experience learning as an internal process
  • continually modify internal map based on incoming knowledge
  • mapper learning requires higher investments
  • aware of the comparative reliability of knowledge, less thinking in terms of absolutes
  • play around with ideas in their head continually, in their spare time, on weekends

The section on the American led Japanese revival following WW2 is amazing. They argue that mapping can be reawakened by trauma ("nuke them twice") and that the "Total Quality Management" (TQM) ethos that developed masked the underlying real reason for Japan's success. When TQM was transferred to other societies it did not always work because the packers, who are the majority, treated it like a checklist to be ticked off.

Packers and mappers don't understand each other. Mappers think packers are cynical or lazy. Packers think mappers are irrational.

The section on reflection is good. Reflection is often mistaken as daydreaming and can be discouraged by school and many parents. Reflection is hard to teach and hard to assess. Many social pressures work against reflection.

Description of the worst case scenario of packer thinking:
"In pathological situations, this can lead to an infinite regress wherein every problem is addressed by attempting to delegate it to someone else, a procedure, or a blame allocation mechanism. It's rather like holding your toothbrush with chopsticks - if you are holding the chopsticks just like on the diagram, the brush up your nose and the paste all over the mirror are not your responsibility!"
Recommendation about how to develop mapper skills:
Get yourself an imaginary friend, as smart as you are, but totally ignorant of the world. Whatever you feel you could relate to - you don't have to tell anyone that you find it easiest to talk to the 1960's cartoon character `Astronut' hovering about in his little UFO with a VHF television aerial on his head. Or maybe Sean Connery's canny medieval investigator in The Name of the Rose would be more fun. Explain everything to your imaginary friend. What it's for. Where it comes from. Where it's going.

At first your full attention is required for this exercise, but after a while the logic between knowledge packets becomes as automatic as driving, and your attention is only drawn to unusual situations: pieces of your map that need filling in or contradictions resolving. It works. With your maps building, discussion of techniques is possible, because we all know what we are talking about
Comment:

It's very well written and the packer culture does remind me quite strongly about how Schools are run. The two main strong points that are made about mapper culture are:
  • the importance of reflection, aka slow, deep thinking (one of alan kay's non universals)
  • everything (the knowledge packets) is connected and you have to work hard to develop good packets and good connections
In parts it is self congratulatory and I think perhaps the philosophical base of "the mappers" could be broader and deeper

Thursday, October 25, 2007

kusasa ("tomorrow"): a solution to the maths/science education crisis

I've recovered from my initial excitement and have read every word carefully on the kusasa site(Capetown, South Africa) and pretty much agree with their whole approach to using computers for maths and science education

It seems similar to what is being done in Extremadura, a poor rural region of Spain (video link)

The philosophy is pure Papert: maths-land, hard play, tap into personal interests, build models of objects to think with, using computers to explore, discover and learn

Maths and Science ought to be learnt in the way it has developed historically. Humans wanted to build things and predict things. In doing this they gradually learnt maths and science. The abstraction came later.

The software is squeak etoys for years 4-9 and python for years 10-12

There are some great quotes about the importance of play on the How > Interests page sidebar:
"Play is the highest form of research."
Albert Einstein

"Do not keep children to their studies by compulsion but by play."
Plato

"In play a child always behaves beyond his average age, above his daily behavior. In play it is as though he were a head taller than himself."
Lev Vygotsky

"The very existence of youth is due in part to the necessity for play; the animal does not play because he is young, he has a period of youth because he must play."
Karl Groos

"Almost all creativity involves purposeful play."
Abraham Maslow

"Play is our brain's favorite way of learning."
Diane Ackerman

I like the Why? section the best, it goes into Challenges, Changes and Opportunities

Challenges: We are facing a crisis in maths/science education in many countries. Many students find it tedious and boring. In recent times education has become confused with entertainment, the demarcation is not clear.

Changes: A series of slides comparing 1907 with 2007 demonstrates how little School has changed compared with the car, the aeroplane, music and communications.

Opportunity: The plummeting cost of powerful computers opens up new opportunities to dynamically model concepts in a variety of learning areas.

Wednesday, October 24, 2007

Kusasa, a Zulu word for tomorrow

Kusasa
http://www.kusasa.org/index.html

This project from Mark Shuttleworth's foundation reflects my ideas of how computers should be used in schools and / or education. What a gem! Thanks Margaret!

Check out Mark Shuttleworth's amazing biography
  • successful IT entrepeneur / venture capitalist (digital certificates and internet privacy)
  • first African Cosmonaut
  • founder of The Shuttleworth Foundation, a non-profit organisation dedicated to social innovation in Africa with a particular focus on education
  • founder of the Ubuntu project ("Linux for human beings")
  • founder of HBD Venture Capital, "Here Be Dragons", which legend has it was used to describe uncharted territory on early maps ...
  • promoter of the Hip2BSquare brand, which aim to make mathematics and science sexy to pupils who are choosing their subjects for high school
"My current project, aims to produce a free desktop OS for the world. Everything you need on a single CD"

Wednesday, October 17, 2007

the law of probability in my "year of the hospital"

I'm going back to hospital on Friday (19th October) for a TURP, a "trimming" of my enlarged prostate gland. This is what I initially wanted 6 months ago.

When I visited recently I discovered that I was famous. Papers have been written and seminars delivered about my prostate biopsy bleeding episode last April. Also the Urology Department is changing their procedures so that in future prostate biopsies will be done in house, partly as a result of what happened to me.

Not everyone gets their 15 minutes of fame for something they intended. LOL.

My health in my "year of the health" remains good. They checked me for prostate cancer and despite nearly killing me in the process found that I didn't have prostate cancer but thought I had kidney cancer. But after taking out a kidney it was found I didn't have kidney cancer either. I've been lucky compared to many others.

I understand the law of probability but am hoping that the odds will go more my way this time around

I have the greatest respect for doctors and what they do in public hospitals, based on my personal experience.

(If only we could use technology in Schools the way it ought to be used - Science and Medicine by contrast have figured it out)

related posts:
unexpected hospital stay
return to hospital
kidney tumour
kidney tumour removed

the decline of IT in education

Enrollments in IT courses have fallen dramatically in senior secondary courses in recent years and IT as a subject has been wound back in the middle school years in favour of integration of computing into other subjects, eg. the VELS approach in Victoria.

It is now crunch time because numbers have declined to the point where IT teachers are losing their subject and having to reconsider their futures, eg. go back to teaching maths or whatever

Some despair and bewilderment has been expressed on some IT teacher lists. Comments such as:
It seems unbelievable that in the Information Age students are not formally taught ANY ICT
I too am puzzled at the idea that 'integrating' IT into other subjects will allow anything approaching an adequate skills base for the 'information age' and current employer expectations. Why not 'integrate' the teaching of English into other subjects - after all we can all read and write, and unlike IT, most if not all of us have done Year 12 English!
So, although there are more computers in schools than ever before the expectation now is that all teachers ought to be "computer literate" and the proper place of computers is for them to be used in the context of traditional subjects. Word processing goes with English, Spreadsheets goes with Maths (if there is time left over after using the graphics calculator), web based research goes with Society and Environment, etc.

When computers first came on the scene they were new, exciting, important and vocational (new career pathway). Every parent was reported to have said or thought: "I want my child to learn computing". Now all that is changing and computers have just become part of the background hum of society, to be integrated into the traditional, long lasting, more fundamental subject domains: English, Maths, Science etc.

The stakeholders no longer see computing as important as a standalone subject. The students see themselves as "digital natives" who often know more than their "immigrant" teachers. The university IT departments prefer that students have a maths background, they believe that School does not know how to prepare students correctly for programming. These perceptions are neither right nor wrong (it depends). What they do signify is that IT has not clearly established its own internal strong criteria for its ongoing sustainability.

Who speaks for the computer? What is the computer for?

This is a failure of imagination and analysis. School has adapted the computer to its traditional goals. The early voices of the pioneers such as Ted Nelson, Seymour Papert and Alan Kay are not heard anymore. Once logo (which had a philosophy attached) went into decline and was replaced by Office (metaphor for apps) and the filtered web (metaphor for research) then it became inevitable that IT in general would go into decline. IT cannot justify itself as a standalone subject once it loses its powerful philosophical justification

IT specialist teachers can argue correctly that many English teachers do not teach word processing correctly, that many S&E teachers do not understand "web2.0" apps etc. but you can't really justify a whole subject just on the basis of skilling

Although School is pretty much dominated by narrow instrumentalist goals the traditional subjects do not occupy the same mental space of some of the arguments that have been used for IT. The continuation of English in the curriculum does not derive mainly from arguments like "there are jobs in English" or "you need English skills for a good job" even though both of these arguments are formally valid. Rather the English co-ordinator at the curriculum committee would say something more like: "the study of Shakespeare or John Marsden provides our students with valuable new insights into the human condition"

Does "web2.0" connectivism provide the basis for a brand new education system? I think probably not. I would see it as just one part of the puzzle, a new piece of the jigsaw built on top of the much larger edifice of modernity and the Enlightenment. The information age began with the printing press.

It is the failure of many of those who love computers to develop an equivalent argument and the failure of Schools to hear the equivalent argument when it has been developed, which explains why IT teachers are now losing their subject.

The argument does exist and can be articulated. The answer my friend has been blown in the wind, the answer is blown in the wind. The problem is one of hearing it, a social hearing in sufficient numbers that would make a difference.

Wednesday, October 10, 2007

our human condition "from space"

The process of really understanding something sometimes takes years. Real understanding is more of a coherent, connected world view, which turtles all the way down, than "the right words".

With this in mind, I'd like to encourage people to spend some time on alan kay's article - Our Human Condition "From Space" (and his other writings and presentations)

Everything about it is beautiful - the illustrations, the writing style and most importantly, the ideas

I like his idea of the unsane, the mental state where our ideas don't fit reality, the map doesn't represent the territory. We like to think of ourselves as mostly "sane" and contrast that with a few "insane" personal moments or the more permanent state of a few unfortunates. But the "unsane" idea makes room for a different self perception. What if more often than not we are unsane?

When alan kay said in his writings from time to time that computers were not all that important, I couldn't really believe that he meant that. Computers have been his career, so I couldn't take him seriously. Even now I feel a strong pressure to qualify this observation.

But in this article he explains it clearly. Most of modern science (400 year tradition) can be done with simple tools - to grasp it requires point of view, effort, time but not money or computers

One of the first quotes I heard from him years ago was "point of view is worth 80 IQ points". Initially, that sounded quaint and elitist, "how old hat to be talking about IQ", I thought. But having read this article and some other of his writings I now see it as an important insight. Point of view changes everything. So what happens? From the outside you look the same but from the inside everything looks different, you see the world through different eyes. My feeling is that the important thing is to pursue the non universal powerful ideas more rigorously.

Monday, October 08, 2007

OLPCNews update

I was annoyed at the way OLPCNews treated Sylvia Martinez and stopped reading for a while

I was pleasantly surprised today when I went back for a look. There is still carping criticism of Negroponte, who is described as an ego maniac, but some of the articles I read were valuable and informative and filled a gap in my knowledge. Unfortunately, the official OLPC site doesn't really discuss controversy.

uruguay_xo_laptop_victory_intel_microsoft by Wayan Vota
I am shocked at the non-response to last week's announcement that LATU Uruguay, the government entity testing both Intel's Classmate PC and One Laptop Per Child's XO computer, rated the XO-1 the better option for the children of Uruguay's Florida province, 56.84 points to 53.06 points.

Am I the only one to notice that this was the first (and so far, only) government administered test between the Classmate PC and XO laptop? A beneficial competition between low-cost laptops for the developing world with an objective winner, One Laptop Per Child.

Where are the Linux geeks screaming victory from the top of Monte VI De Este a Oeste? Do they not realize that with Uruguay poised to buy 100,000 XO laptops running a Sugar user interface on a Linux kernel platform, it is the first large-scale loss for the Wintel duopoly?
In this article, Wayan points out how much the OLPC has already transformed "the whole global mind-think around technology":
No longer is low cost computing in education a fantasy, no longer are big technology companies secondary, and everyone wants to sell technology into classrooms. Intel introduced Classmate PC to Brazil, Asustek is selling Eee PC's in the USA, and even thin-client manufactures compare themselves to OLPC.
The best article I found was 10 Reasons Why Negroponte Should Change OLPC Distribution by Alexandre Van de Sande. He effectively challenges the whole concept of only selling millions of units to governments:
  • Many third world governments are corrupt and populist
  • The real DO-ERS are local enthusiasts, NGO's, eccentric billionares and early adopters. Best to use them.
  • Selling in thousands, rather than millions, achieves critical mass and better logistics.

Sunday, October 07, 2007

the problem of living in the present

update (10th October):
I've changed the title from the attention seeking "pity the web2.0 evangelicals" to one that better represents the real issue I want to raise, "the problem of living in the present" (thanks, Doug)

alternative titles:
  • information is not your friend
  • the delusional glitter of the new and the now in web2.0 land
  • blogging is just the tip of a rather diverse and large iceberg
"web2.0" has it's place but I pity the poor web2.0 evangelists who are trapped in their sea of information. I visited there once.

Some of them even believe that web2.0 is better than web1.0 or that reading web1.0 is old school. And they are too busy keeping up with their RSS feeds to read books. Poor blighters :-)

Here are some of the things they are forgetting about:
I assert that these things are covered better in web1.0 and books than web2.0. And to be aware of these things is to live in a totally different place to web2.0 land. No point in providing links is there - web2.0 evangelists don't read web1.0 links, why those documents are too long and old school.

I guess it's just the latest form of addiction.

update (10th October): Cross out the sneering comment about not providing links. The issue that I wanted to raise was that it hit me like a ton of bricks the other day, that I was spending much more time reading lengthy web1.0 documents and books (whilst also pruning my RSS feed). And that this more measured and reflective reading has significantly altered my point of view, world outlook. It's also true of course that the better web2.0 blogs / sites also do this so in that respect my post is "attention seeking" rather than balanced. ie. the original post (without updates) is in part (and was deliberately) a caricature of itself.

Saturday, October 06, 2007

philosophical principles

I keep coming back to these as things that often guide my thinking and decision making. Or when I review something I've said, written or done then I see it as limited, insufficient or incomplete because it hasn't been integrated very well with the philosophical ideas that keep emerging as the important thing.
  • why I have changed from game maker to etoys / squeak
  • why I think engagement and motivation while important are not enough
  • why I don't want to be just a teacher of computing anymore but more of a teacher of the non universal powerful ideas
  • why I am thinking I can no longer teach in a school which doesn't grasp these ideas
The philosophical principles also form the basis of critique:
  • you can't sustain the critique of instrumentalism and / or technocentrism without a sound philosophical basis, since these forces are such strong drivers in our current society
  • everyone can be doing their best and trying their hardest within their perceived universe but things aren't really going to change substantially for the better unless people step outside of that to look at the bigger picture

1. Dramatic change is eternal, "you can't step in the same river twice"

2. No construction, without destruction

3. Augmentation / Symbiosis - Humans are natural born cyborgs

4. That a computer could be an immersive, dynamic medium for children to explore powerful ideas that are not accessible readily to children in other ways (eg. dynamically representing the exponential spread of an epidemic, teaching calculus through vectors)

5. Recursion: By making the parts as powerful as the whole then we avoid the tyranny of the subgoals

6. Map and the territory: Sometimes the map in our heads does not fit the territory in the real world.

7. Dialectics, grasping both sides of the equation
Hegel: all that is real is rational; all that is rational is real
Engels: reality proves to be necessity; all that exists deserves to perish

8. Historical materialism, the importance of looking at history to understand the present

This is really an amalgamation of some thoughts from Alan Kay, philosophical marxism and perhaps other sources (Daniel Dennett, Andy Clark, Rodney Brooks). Incomplete and not sufficiently explained.

stop the band-aid

Why some forms of aid are bad for poor African countries:
(Spiegel interview with Kenyan economics expert James Shikwati)
  • welfare bureaucracies are financed
  • corruption develops
  • creates a dependence, beggar mentality
  • weakens local markets
  • dampens spirit of entrepreneurship
  • food grants undermine local farmers
  • inhibits trade between African countries
Might be better to support the OLPC give one, get one initiative

OLPC linked to civil war, revolution and the prevention of fascism

new reddit comment thread about the OLPC in response to a recent NewYork Times article: Laptop with a Mission widens its Audience

cavedave asked on reddit:
"... could there be negative consequences to giving millions of laptops out to children in the third world?"
As well as the usual stuff (theft, blackmarket, porn, more outsourcing of IT jobs) there was some more interesting commentary about both negative and positive consequences (civil war, brain drain / revolution, makes fascism far more difficult)

I think these latter comments are far closer to the mark about the real implications of the OLPC. Negroponte's clearly stated aim is to by pass the adults, to skip a generation, and to leverage the children directly to dramatically accelerate an education revolution in third world countries. This will create some social turmoil, which might explain why some of those promised cheques have not been signed.

I've pasted in some of the reddit comments below.

hopeless_case
:
Here's my attempt to come up with a nightmare scenario. By suddenly increasing the population's ability to communicate, you confront a government that hasn't had to deal with an active press with significant vocal opposition. In the ensuing power struggle, a civil war is started and millions die.

Lucretius:
The probable negative consequences in the short term are brain-drain or revolution:

Theoretically, distributing millions of XO's means millions of kids gain internet access, computer literacy, and relatively western educations who wouldn't have before. (Most of the content on the internet is in English, and of western origin, so an internet education is a western education).

Knowledge, Access to advanced tools, and Education are empowering, so what will these empowered kids do when they grow up?

Many, the ones who really delved into learning all about and with their XOs, the ones who were especially driven to educate themselves despite living in primitive conditions.... What will they do? They will either leave their countries of origin so they can live in the developed world that they seen beckoning though the internet. Or, they will demand progress to drive their countries of origin toward a western model. There are precedents for both trends resulting from the introduction of western education into 3rd world countries.

Now, for all of that, progress would have eventually come to these countries anyway, and whenever it came there would have been war, and turmoil regardless. Likewise, relatively motivated and independent people would have been leaving the 3rd world looking for opportunity in the developed world anyway. The XO just changes the texture of the situation, not it's shape. It changes how many and more importantly which people end up as revolutionaries or immigrants.

Personally, I believe its ultimate impact will be profound and positive, but not fully felt in our generation. When immigrants enter a new country, it typically takes 3 generations for them to fully adopt the surrounding culture and language. What the XO does, in effect, is to move every child who gets one into a new country: the internet. Their parents and teachers who grant them access to the XO are the 1st generation, they are the second, and the 3rd generation... which will reveal the final form of this cultural phenomenon is still many years away. I hope that this will be the beginning of renaissance. How many potential mathematicians, and authors, and visionaries languish in nations without the education resources to cultivate their talents? Humanity always benefits from a level playing field in the long run.

willem:
Imagine for a moment the consequences giving all the children in Myanmar/Burma video-capable devices... The logistical task of confiscation by the Military junta would simply be impossible.

Sunday, September 23, 2007

how to live and die

Read the commentary by Mark Guzdial and follow the links to Randy Pausch's last lecture.

Very moving. Great comment by Mark about the third head fake.

Friday, September 21, 2007

squeak by example: new book

Squeak by Example is just what I needed as a guide to learn smalltalk/squeak programming language

I've learnt some new stuff (mainly for beginners)

Red button, yellow button, blue button: From the first chapter I learnt that you can easily reconfigure your mouse buttons so that now they are more compatible with the conventional Windows GUI. Now I have:
  • left button (red button) displays the World menu
  • right button (yellow button) displays a context menu
  • middle button (blue button) displays the morphic halo
I've learnt how to maintain multiple images, eg. so I have one image named SBE in which I can develop the projects from the book and another image named Squeak3.9 which I can use to start something fresh

I've built a game called Quinto and eventually got it working! That's a big step because initially my goal was to develop the Africa map game (already developed using GameMaker) in squeak


The game involves clicking with the mouse which puts a pattern of coloured cells (click once produces blue, click again produces yellow) on the board. The aim is to maximise the blue cells which is tricky because of the way the pattern produced by a click overlaps.

I already knew something about making subclasses, methods, testing as you make and inspecting objects from earlier exercises. But I learnt new stuff about organising methods into categories (called protocols) and using the debugger.

Then I learnt that you could file out just the code for the game and then file in to another image (or send that game file off to a friend)

Initially my game didn't work properly so I joined the beginners squeak list and asked some questions - and received a couple of helpful replies quickly. It turned out that the problem was that I was using version 3.8 rather than 3.9 recommended for the book. When I filed in my code into the 3.9 version the game worked properly straight away!

I've only read a couple of chapters of the book so far, but it's great. Everything is explained very clearly. There is a free online version but I've ordered a hard copy as well.

Many thanks to the authors: Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet with Damien Cassou and Marcus Denker

is papert a purist?

JTPowell's blog (second grade teacher) is inspirational

He is teaching himself Scratch, reading the MIT's Open Course Ware Readings on The Nature of Constructionist Learning (some great readings in this list) and then blogging about his learning process as it develops

Does the perception that Papert is a purist who has been advocating never teach anything directly to the learner come from Papert himself?

Currently, JT is agonising about this and I left a comment on his blog because I went through a similar agonising about breaking down the wall between behaviourism and constructionism when developing quadratics drill software in logo for my students

I think the origins of this purist perception comes from Piaget:
In order for a child to understand something, he must construct it himself, he must reinvent it. Every time we teach a child something, we keep him from inventing it himself.
However, this position was repudiated both by Papert and even more clearly by Kevin McGee in his 1992 thesis, Play and the Genesis of Middle Manager Agents (I have a hard copy):
Piaget's statement is ... potentially dangerous ... There are two processes being alluded to in Piaget's remark. On the one hand, there is the standard constructivist view that all knowledge is ultimately constructed by the individual. On the other hand, there is the further implication that it is somehow bad for individuals not to "reinvent the wheel" by themselves. One way to think about this is in terms of the difference between bringing about agent-conflict and resolving agent-conflict. Individuals need to be able to do both - and any approach to learning which de-emphasises one is seriously limited ...

If we really accept Piaget's strong emphasis on the large-scale, self-equilibrating, systemic nature of mind, then the debate over whether to give students answers or make them struggle for them falls almost entirely outside of the problem of conceptual innovation... it is not possible to give "answers" to individuals who don't have a question (don't perceive a problem to be solved); "making them struggle" is pointless since they have no idea what it is they are struggling for.

It is important to critique Piaget's "invention" quote seriously ... because a misreading of it seems to underly so much bad constructivist pedagogy ...
Kevin McGee was one of Papert's students. Another thought here is that Idit Harel (another Papert student) developed her theoretical approach by combining Vygotsky's zone of proximal development with Papert's constructionism. Really the teacher sets up a zone of appropriate struggle through the environment they help co-create with their students.

Sunday, September 16, 2007

Noel Pearson's "radical centre" concept applied to education

Noel Pearson, The Urgent Quest for a Radical Political Centre:

Noel Pearson understands dialectics and has a philosophical perspective as well as a pragmatic position on aboriginal policy:
The "radical centre" in politics may be defined as the intense resolution of the tensions between opposing principles, a resolution that produces the synthesis of optimum policy. The radical centre is not to be found in simply splitting the difference between the stark and weak tensions from either side of popularly conceived discourse, but rather where the dialectical tension is most intense and the policy positions much closer than most people imagine.

We are prisoners of our metaphors: by thinking of realism/pragmatism and idealism as opposite ends of a two-dimensional plane, we see leaders inclining to one side or the other. Those who harbour ideals but who need to work within the parameters of real power (as opposed to simply cloaking lazy capitulation under the easy mantle of righteous impotence) end up splitting the difference somewhere between ideals and reality. This is called compromise. And it is all too often of a low denominator.

I prefer a pyramid metaphor of leadership, with one side being realism and the other idealism, and the quality of leadership dependent on how closely the two sides are brought together. The apex of leadership is the point where the two sides meet. The highest ideals in the affairs of humans on earth are realised when leadership strives to secure them through close attention to reality.

The best leadership occurs at the point of highest tension between ideals and reality ...

Hence, in Australia what is known as the "Right" promotes indigenous responsibility. What is known as the "Left" promotes indigenous rights. Usually, the "Right" and the "Left" righteously denounce each other. The "Left" (eg. the Greens) says that the Howard government is "callous', "brutal", "lacking compassion". The "Right" says to the "Left" - you are not facing reality, drug abuse, welfare dependency and child abuse in aboriginal communities are realities that simply have do be dealt with.

Read the whole Pearson article. For example:
When I decided that we could no longer go on without saying that our people held responsibilities as well as rights, it was not a repudiation of rights. It was just that all the talk, all the advocacy, all the analysis, all the leadership, and all the policy and politics was about rights. There was no talk about responsibility.
Pearson had to take up the indigenous responsibility agenda because no one else was doing it effectively. Now Pearson is accused of no longer supporting indigenous rights by those who don't understand his real position.

I support Pearson, for the first time in many years Australia now has a genuine insightful political leader, the real thing.

I'm also wondering if the general analytical approach from Pearson here could be more consciously and beneficially applied to other areas of discourse: education, OLPC, global warming, Iraq war etc.

What it presupposes is that the elements of good policy are already there on the stage and have been taken up in varying degrees in different mixes by established large political parties. And then by doing the hard work of dialectical analysis those bits and pieces can be put back together in such a way that perhaps can develop mass appeal.

Certainly, I can see that applies to education policy, to recycle something I said from the wellington grey physics curriculum reform debacle:
Science and maths education seems to be polarising between a back to basics movement and soft sociological reform, often ineffectual "discovery learning". I believe there is a third way, that traditional science education can be reformed and still remain real science. Student designed computer simulations using software such as Etoys / Squeak could play an important role here.
Summarising some of the issues:
  • watering down, diluting, trivializing science and maths curriculum
  • converting science / maths content into sociological content
  • using discovery or inquiry based learning as a substitute for hard facts
This time, I make a connection here between Pearson's dialectic of the radical centre and my analysis of the polarising between a back to basics movement (what the "Right" says) and soft sociological reform, often ineffectual "discovery learning" (what the "Left" says). Both sides are shouting past each other and no progress is being made.

The resolution of this problem comes about through Papert's concept of "hard fun" and Kay's identification of "non universals". First identify the important concepts and then find an engaging and realistic way to teach them to children.

Thursday, September 13, 2007

smalltalk: philosophy, metaphor, semantics, syntax

Programming languages can be categorized in a number of ways: imperative, applicative, logic-based, problem-oriented, etc. But they all seem to be either an "agglutination of features" or a "crystallization of style." COBOL, PL/1, Ada, etc., belong to the first kind; LISP, APL-- and Smalltalk--are the second kind. It is probably not an accident that the agglutinative languages all seem to have been instigated by committees, and the crystallization languages by a single person.

Smalltalk's design--and existence--is due to the insight that everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that hides its combination of state and process inside itself and can be dealt with only through the exchange of messages. Philosophically, Smalltalk's objects have much in common with the monads of Leibniz and the notions of 20th century physics and biology. Its way of making objects is quite Platonic in that some of them act as idealisations of concepts--Ideas--from which manifestations can be created. That the Ideas are themselves manifestations (of the Idea-Idea) and that the Idea-Idea is a-kind-of Manifestation-Idea--which is a-kind-of itself, so that the system is completely self-describing-- would have been appreciated by Plato as an extremely practical joke ...

I recalled the monads of Leibniz, the "dividing nature at its joints" discourse of Plato, and other attempts to parse complexity. Of course, philosophy is about opinion and engineering is about deeds, with science the happy medium somewhere in between. It is not too much of an exaggeration to say that most of my ideas from then on took their roots from Simula--but not as an attempt to improve it. It was the promise of an entirely new way to structure computations that took my fancy. As it turned out, it would take quite a few years to understand how to use the insights and to devise efficient mechanisms to execute them.
- alan kay, the early history of smalltalk
Most books on programming that I have seen don't include much in the way of philosophy or metaphor. They seem to be filled with detailed definitions and techniques.

But from the alan kay quote above it's clear that Smalltalk, the first OOPs language drew heavily from philosophical principles - the monads of Leibniz, "dividing nature at its joints" from Plato. And that this approach leads to a more elegant and internally consistent programming language ("crystallization of style"), rather than a mix of human memory intensive bits and pieces ("agglutination of features")

Maybe we would be better off today if philosophy and also the use of metaphor was taught side by side with programming?

<message receiver><message>
<receiver object><message>
<message receiver><message selector (optional message arguments>

Messages trigger methods in receiving objects

The above is the basic structure of smalltalk semantics. This initially appears easy to follow but for me it became confusing at the level of specific examples

100 + 200

In this case 100 is a message receiver, + is a message selector (binary type) and 200 is an argument for +

Both 100 and 200 are SmallInteger class instances

I found two things difficult to understand (counter intuitive) about this example:
1) Why was + being called a selector, ie. what was it selecting?
2) The 100 and 200 which are similar types of things are behaving in different ways in the example. The 100 is a message receiver and the 200 is an argument to the + message selector

This sort of thing frustrates me because in the end I'm reduced to rote learning through not really understanding the underlying meaning of the way in which smalltalk was designed. Now thanks to help from some experts I have an explanation.

The metaphors that work here are:
An object (which has various properties) receives a message which tweaks one of those properties

Or a language metaphor:
The subject (which comes first) is directed by the different parts of the rest of the sentence (verbs, etc.)

Message selectors (such as +) are called selectors because they select properties from the receiving object. As an object myself, I can visualise and personalise this quite easily. If someone comes to me and delivers a message then the particularity of the message switches on (selects) certain parts of my mind, ie. accesses particular properties of my mind

I don't really need to know the details of the SmallInteger class to appreciate this, just that the + message selector will trigger something inside that will enable it to complete the task of adding +200 to 100

Another thing that confused me was finding the right metaphor to explain this particular thing. Another smalltalk metaphor is the biological cell, that the contents of the cell are protected or encapsulated and that they respond to messages from outside.

This metaphor is great for helping to understand encapsulation and complexity - cells can diversify and combine to create complex organisms. But it didn't help me explain why + was called a message selector. However, the object and language metaphors did help here. So you need to know the right metaphors for the particular task at hand.

I'll round this out a bit more by using some other examples, mainly from Stephane Ducasse's book, Squeak: Learn Programming with Robots

There are 3 types of messages - unary, binary and keyword

Unary: pica east
"pica" (robot object) is the message receiver. "east" is the message selector. It's just like someone approach me and says, "turn east" That selects the part of my mind that thinks about directions.

Binary: 100 + 200
Already discussed

Keyword: pica go: 100
"pica" (robot object) is the message receiver. go: is a keyword message selectors, they accept arguments (100). So the message go: 100 is sent to the robot.

Keyword with multiple arguments:
pica polygon: numberOfSides size: sizeValue
"pica" (robot object) is the message receiver. The method or message selector is the double barreled polygon:size: (counter intuitive initially). The arguments are numberOfSides and sizeValue

Another Keyword with multiple arguments:
33 between: 30 and: 50
33 is the message receiver. The method or message selector is the double barreled between:and: The message arguments are 30 and 50

reference:
Ducasse, Stephane. Squeak: Learn Programming with Robots (2005) amazon, bots inc

The Monadology by Gottfried Wilhelm Liebniz

The Problem of Universals(philosophical essay)
"Plato was clearly a Realist about universals. His most famous metaphor for the reality of universals was to say that real universals "cut nature at its joints" (Phaedrus 265d-266a). He compares the task of definition to the job of being a butcher. The clumsy butcher just hacks things up in any old way, but the expert butcher deftly slices the animal at its natural joints, neatly separating naturally distinct segments of the animal."