Tuesday, August 28, 2007
eben moglen to tim o'reilly, "you have wasted ten years"
moglen understands the ephemeral and potentially dangerous nature of web2.0 (eg. google aggregates our data centrally in exchange for free apps, its not certain what they will do with it in the future), looks behind it to more fundamental issues - freedom, property, money
his critique of o'reilly and the OS part of FOSS is spot on, IMO
some moderating commentary here from Peter Rock
Friday, August 24, 2007
thoughts on a python programming competition
I'm on long service leave, so I had time to participate in this competition, since they encourage teacher participation. NB. I would not have had time for it - no way - if I had been teaching.
I was very rusty on my python programming. Having the intensity of a competition with strict deadlines (complete 5 challenges a week for 5 weeks) provided some clear structure and pressure to get on with it
My general view about programming is that it is hard to learn. I'm also quite keen to improve my skill because for me programming has a deep sense of epistemological importance wrt to future of the human race. Two links and one quote about this. Why program? What is programming?
(Abelson and Sussman)....writing a computer program is really about the intellectually difficult task of how to control a complex system. The programming language provides us with a means to express and explore ideas about this which would otherwise be too complex to manage.Each participant is given a profile page where, inter alia, they can enter their code into a window. A server runs some tests on the code which then provides feedback and whether your code was successful or not. You have 5 tries before you lose any points, which is a necessary feature for a machine check. Although far from perfect this mechanism does mean that the organisers do not become snowed under with marking. The negative is that it also limits the creativity or individuality of the competition, unlike some Game Maker competitions I have recently been involved with.
Forums are also provided. One of the forums allows participants to put in a query for code they think should work but which doesn't. I used this a few times. Then a real person evaluates your code and gives you some feedback.
So, there is a combination of machine checking and human checking which minimises work load for the organisers but provides necessary human to human feedback for those who are puzzled with a hard problem. The testing process meant that you had to finish off your program completely to pass all the tests. If you didn't then you received zero points
In the main this feedback mechanism worked well for me. ie. normally the feedback (either machine or human) made sense and I could then proceed to improve my code. Sometimes I thought the tests were either mean (not explained in the challenge) or trivial (eg. "!" missing in a print statement) but the 5 point buffer made up for that.
It was a competition. There was scoring with points, a leader board was published etc. Overall, I found this provided focus and was motivating. However, when I couldn't solve the spreadsheet problem fully after 4 days it made me dispirited for a while. So it could be hard for those struggling with the basics more than me.
The challenges varied in difficulty from easy to hard (my opinion). Examples of hard problems included a spreadsheet simulation (I learnt about eval in doing this one, but still didn't manage to meet all the criteria in time) and programming a MUD.
The challenges focused pretty much on the maths and logic domain. My logical thinking mechanisms have been give a good workout! The sort of things covered required me to improve my skills in the use of strings, lists, dictionaries, conditionals and importing and reading files. For example, one of the problems involved reading in an English to German dictionary (provided) and programming some translations of nouns from English to German and back again. Other problems involved sequences, working out what the sequence was and then writing a program to provide the correct output for an input sequence number.
So, my criticism here is that this is reinforcing an already stereotyped pool of recruits into programming, those who are already good at maths and logic. I think more than this will be required to reverse the trend of declining IT enrollments to courses. Read Mark Guzdial's post, The Wonderful Opportunities of the Declining Enrollment Crisis
Briefly, here are some of the things I learnt or beliefs which were reinforced from the programming part of the competition:
- computer programming is not easy (I've already said that)
- you need to put in the hours
- it's necessary to have some large slabs of uninterrupted time, the very thing that nearly all teachers do not have
- sometimes logic errors totally confound me, initially, I just cannot see how the error message I am receiving, either from python traceback, or, from the competition automatic tests, could possibly be correct
- but then it's either terribly frustrating or wonderfully elating when some time later your next effort either succeeds or fails
- surely I'm not the only programmer who experiences despair and / or elation
- more than once I did not read the question thoroughly enough and this led to errors which could have been avoided - pretty funny since I'm a teacher who sometimes tell students to read the question carefully and then become frustrated sometimes when they don't seem to
- overall the testing process pushed me in the direction of becoming more rigorous and proactive, to think before submitting code - to question some of my "she'll be right, mate" attitudes
- you need a good reference manual, pp. 49-50 of Python in a Nutshell (list and dictionary methods) has become well worn.
Thursday, August 23, 2007
OOPs?
But one thing I noticed was no requirement for object oriented programming.
I do have a beginners book on python programming (Python Programming for the absolute beginner by Michael Dawson) which does teach OOPs. Don't be put off by the dumbed down title, it has very clear explanations which is unusual in my experience for programming books.
Also I've become aware of the origins of OOPs through reading Alan Kay's Early History of Smalltalk and also Dan Ingalls Design Principles Behind Smalltalk and this knowledge makes a difference (without going into those detail at this stage).
So, I've become aware of two things.
At best, Education is stuck at the level of procedural or structured programming. Or quite often for most students, just applications, no programming at all.
OOPs is important (vital) for programming more complex systems but is harder and therefore makes limited inroads into formal Education.
Despite finding it hard to get my head around OOPs myself I don't really want to believe the second statement. I'm hoping that etoys / squeak (visual programming) might provide the answer of making OOPs more accessible. I'm not sure.
Reading Mark Guzdial's blog (he has published books in both Smalltalk and Python) makes me think that part of OOPs (creating classes) might be too difficult
This:
"Objects, for example, are harder for people to understand than procedural programs. Distributing responsibility and process across multiple objects increases cognitive overhead. That's empirically demonstrated. While it may be provably better (e.g., improvements in cohesion, coupling, and encapsulation), it demands more from its practitioners -- and in so doing, makes it harder to take on that role. As more complex ideas flow into the task of programming (structured programming, strong type systems, iterators, abstract classes, interfaces, and so on), the cognitive demands increase."And this:
- Plea to Language Designers: Bring Back GoTo!
Two of the graduate students working with me, Brian Dorn and Allison Tew, did a fascinating study over the winter break and submitted a paper on it (still awaiting word on acceptance). They reviewed all the programs (scripts) that graphics designers had written for Adobe Photoshop and then had shared with other graphics designers/programmers at a specific website. These were written in Adobe's form of JavaScript. Brian knew (from an earlier study reported in his ACM ICER 2006 paper) that these designers/programmers had virtually no formal computer science background. The questions that Brian and Allison were asking included "Without a curriculum directing coverage of everything, what programming constructs do these end-user programmers use -- either because it's so useful, or because it's easy enough to understand without a course, or both?" In a real sense, this is studying "natural" programming -- what programmers "in the wild," who program because it's useful to them, do without the influence of a teacher.And these extracts from a discussion he was having on another list:
As one might imagine, every program used variables and assignments, and virtually every program used conditionals and relational operators. But then there are some subtle and fascinating differences. Over 60% of the projects they found used FOR loops, but only 37.5% used WHILE loops. Are FOR loops nearly twice as useful or twice as easy to understand as WHILE loops? They also found that the use of TRY-CATCH for dealing with exceptions appeared in over 60% of the projects they reviewed. Perhaps exceptions are much more useful or much easier to understand than WHILE loops, though virtually everyone teaches a WHILE loop but not everyone teaches exceptions. Programmer-created functions appear in over 70% of the programs they reviewed. Programmer-created objects appear in less than 20% of the programs. Perhaps "objects-first" isn't as natural as we might think.
Studying Programming in the Wild
- "Object-use" means instantiating objects, applying methods to objects, writing new methods.Mark Guzdial makes a lot of sense. Reality check. However, I'm still very interested in pushing ahead and learning OOPs myself as well as further exploring the potential of etoys in that context.
- "Class-create" means creating new classes and solving problems by writing different methods in different classes (distributing responsibility).
- "Early" means in the first week of class, or in the students' first programming assignment
Using the term "impossible" seems to be setting up a strawman. Nothing in education is "impossible." How about if we use a new term: "works," where works means "students can be successful in completing tasks using what they perceive as a reasonable amount of effort." ...
Reconsidering the phrase "objects-early is impossible," let's first consider "object-use early doesn't work." I'd say that the evidence AGAINST that is pretty strong. Not only do we have evidence of broad student success in tools like Alice (which doesn't have classes and methods in the same sense as Java or Smalltalk, so it tends to be "object-use" rather than "class-create") but even in Logo -- whose turtle is clearly a "first object." Roy Pea and Midian Kurland found that few students that they studied really learned Logo well, but there's a good bit of evidence from studies like Sharon Carver's that students could learn Logo -- that Logo "works."
Now let's consider "class-create early doesn't work." The way I read the research, there's a lot of support for that statement: Creating classes and writing distributed methods is *hard*. Consider some of the research evidence:
- Anne Fleury's work showed that students far prefer in-line code, even going so far as to prefer constants to named values. The Psychology literature makes that obvious: having to look elsewhere to find the value for something increases cognitive load.
- T.R.G. Green's work showed that increasing cognitive load (by making people look elsewhere for code and values) makes it harder to program, e.g., people read more slowly and make more errors.
- John Carroll's and Mary Beth Rosson's work at IBM in the 1980's on Smalltalk found that programmers had a hard time understanding the distinction between classes and instances.
- Even Adele Goldberg's technical reports from Xerox PARC in the 1970's showed that most of their students weren't able to complete program modification tasks in the given time. It took too much time to find where a particular feature was buried in a particular class. It didn't "work."
Overall, it's hard to test this hypothesis convincingly. It's hard to control for all factors and get students to program the same things with and without making classes. But there is a macro-level way of testing this evidence. For the schools whom I've talked to, the failure rate in introductory classes jumped when they went to class-create early, either in C++ or Java. That evidence suggests that it's true that class-create early doesn't work....
For myself, I'm going to stick with an approach of object-use early and class-create later (week 10 or later). Here are my reasons:
- PROGRAMMING IS HARD. Even procedural programming. I see students struggling with where to put the RETURN even in week five. In our last midterm, I was dismayed with how many students were still struggling with how to manipulate two different indices when working with two different arrays (sounds). I'm happy with where our students get in 15 weeks.
- OBJECT ORIENTED PROGRAMMING IS HARDER. I have seen no evidence that class-create programming is EASIER than procedural programming when dealing with introductory-level concepts and CS1 level of programming. I've seen lots of evidence (referenced in my last message) that it's harder. This doesn't have to do with the teaching method -- this is entirely a matter of cognitive load. The raw task of O-O programming requires a greater cognitive load than procedural programming.
- I CAN'T AFFORD TO MAKE IT HARDER. With high failure rates, students' perception of CS as being too hard, and declining enrollments, I can't afford to include class-create early. The costs aren't worth the benefits of learning object-oriented programming in the first course. I believe we need more of a gradual slope in our intro course, not such a steep curve that looks to students like a wall.
- NSF CPATH, Jobs and Objects
Wednesday, August 22, 2007
Ramon Leon: On Smalltalk
Smalltalk in Action
This provides a link to a video which demonstrates the power of late binding:
... some of the features of the refactoring browser on a running instance of the classic Asteroids game. He extracts a method to a component, changes the color of the asteroids, then shows off undo and redo. He does so while the game is running without ever having to break his flow with something as silly as a compile, debug, run cycle that we’ve all grown so accustomed to in most other languages.Building a blog using Seaside
This links to a screencast of Ramon building a blog in seaside in 15 minutes. Seaside is a web development program which is written in Smalltalk
My Journey to Linux
The transition from being a Windows guy to a Linux guy. Shit happens.
Why Smalltalk
"I’m still amazed by how many people think they can grok Smalltalk by seeing syntax examples. Smalltalk isn’t its syntax, it’s its environment. Smalltalk is a living world of running objects, there are no files, no applications, just what’s running. To understand Smalltalk, you have to either actually use it for a while, or have a seasoned Smalltalker demonstrate it to you. Reading sample code just won’t cut it."
Ramon's top posts are here
Thursday, August 16, 2007
powerful ideas discourse

I asked Alan Kay, on the Squeak list, for some clarification of the "non universals" slide from his Europython 2006 keynote
This has sparked a discussion about powerful ideas - what are they and why don't they figure more in School or University education?
The 'non universals' thread starts here (my initial post) or for an overview of the August archive (to follow the subthreads more coherently) look here
Some of the discussion points so far:
- Where does the non universals list originate from?
- Clarification of the meanings of these terms from the non universals list: 'Theory of Harmony' and 'Similarities over Differences'
- Why aren't powerful ideas taken up by School?
- Elaboration on the reasons for the huge gulf between genuinely powerful ideas and the current reality of our formal education systems
Someone once asked Mohandas Gandhi what he thought of Western Civilization, and he said he "thought it would be a good idea!"These are important issues, we need to discuss them more. Understatement.
Similarly, if you asked me what I thought of University Education, I would say that "it would be a good idea!"
child's play

Fix my laptop
10 yo boy and 8 yo girl disassemble, troubleshoot a loose wire, and reassemble the XO - visit link to joel's blog to see video and read more description
Tuesday, August 07, 2007
mark guzdial on computing education: the importance, problems and possible solutions
Mark's teaching approach is to start with a rich concept from the wider world of science or economics, for example, and then use computers, including programming, to enrich the study of that domain. As well he has background exposure to the philosophical and educational ideas of Alan Kay and Adele Goldberg, which he incorporates systematically in his thinking and writing. Every blog he writes is of a high standard, no waste or diversions from the central theme of educational computing (unlike my blog!). Here are some of the main issues which I feel he covers brilliantly:
- the reasons why computer education including programming is vitally important, ie. a coherent argument about why everyone should learn to program
- recognition of and reasons for the world wide enrollment decline in computer science
- recognition with evidence that many students find programming hard and fear it
- discussion of student understanding of basic computer concepts
- contextualised computer education as part of the solution to these problems
- description and feedback from the courses they run at Georgia Tech.
- critical discussion about getting more girls involved in studying computing
Why Should Everyone Learn to Program? (Or, WHO should learn to program?)
Outline of an argument put to Mark's Associate Dean
What Students Think of Media Computation
Inspirational feedback from students from the Georgia Tech Media Computation course
The Wonderful Opportunities of the Declining Enrollment Crisis
Analyses the reasons for decline in Computer Science enrollments and what could be done about it
Follow-up: Report on Grace Hopper Panel
Discussion of "Female-friendly education: Increasing participation or watering down?"
CompFreak Round-Up
Summary of projects tackled and some student feedback from the Computational Freakonomics course
What is Computing?
The computer is the most significant invention for augmenting human thought since the invention of writing ...
Computational Freakonomics
Description of this course
Contextualised Computing Education
Rationale for a new type of computer education
Students find programming distasteful
"I’ve had a couple of experiences over the last few months that demonstrated to me just how much students dislike programming, at a deeper level than I had expected ..."
BOOKS
Mark is the author of several books about computing, just linking to a couple here:
Introduction to Computing and Programming in Python, A Multimedia Approach
Squeak: Open Personal Computing and Multimedia (with Kim Rose)
Thursday, August 02, 2007
everything bad while in the process of amusing us to death is good

Daniel Livingstone has the intellectual wherewithal to compare two books which on the surface point us in opposite directions. Brilliant!!
Amusing Ourselves to Death: Public Discourse in the Age of Show Business (1986) by Neil Postman
Everything Bad is Good for You: How Today's Popular Culture is Actually Making us Smarter (2005) by Steven Johnson
Daniel's blogs are thought provoking:
Amused to Death
TV Culture Makes us Smarter ... than what?
Smarter and Sillier
I’ve been reading a lot about alan kay’s ideas recently and discovered that Postman was a member of the advisory board for the Viewpoints Research Institute until his death in 2003
In his biography of Kay, John Maxwell analyses the connection b/w Postman’s social analysis and Kay’s ideas about using computers with children. Here is a long quote from Maxwell's thesis about this:
Kay’s warning that too few of us are truly fluent with the ways of thinking that have shaped the modern world—logical argument and systems dynamics — finds an anchor here. How is it that Euclid and Newton, to take Kay’s favourite examples, are not part of the canon, unless one’s very particular scholarly path leads there? We might argue that we all inherit Euclid’s and Newton’s ideas, but in distilled form. But this misses something important, and I know I’ve missed something important in my understanding of math and science. Kay makes this point with respect to Papert’s experiences with Logo in classrooms:
Despite many compelling presentations and demonstrations of Logo, elementary school teachers had little or no idea what calculus was or how to go about teaching real mathematics to children in a way that illuminates how we think about mathematics and how mathematics relates to the real world. (1997, p. 19)The problem, in Kay’s portrayal, isn’t “computer literacy,” it’s a larger one of familiarity and fluency with the deeper intellectual content; not just that which is specific to math and science curriculum. Kay’s diagnosis runs very close to Neil Postman’s critiques of television and mass media (Postman was a member of the advisory board for the Viewpoints Research Institute until his death in 2003); that we as a society have become incapable of dealing with complex issues. Postman charges that public argument on the scale of that published in and around the US Constitution would be impossible today, because the length and depth of the argumentation simply would not fit in a television format, newspapers would not print it, and too few people would buy it in book format (Postman 1986).Being able to read a warning on a pill bottle or write about a summer vacation is not literacy and our society should not treat it so. Literacy, for example, is being able to fluently read and follow the 50-page argument in Paine’s Common Sense and being able (and happy) to fluently write a critique or defense of it. (Kay 1996 p. 548)Another example of “literacy” that Kay repeatedly mentions is the ability to hear of a disease like AIDS and to recognize that a “disastrous exponential relationship” holds:Many adults, especially politicians, have no sense of exponential progressions such as population growth, epidemics like AIDS, or even compound interest on their credit cards. In contrast, a 12-year-old child in a few lines of Logo [...] can easily describe and graphically simulate the interaction of any number of bodies, or create and experience first-hand the swift exponential progressions of an epidemic. Speculations about weighty matters that would ordinarily be consigned to common sense (the worst of all reasoning methods), can now be tried out with a modest amount of effort. (Kay 1994)Surely this is far-fetched; but why does this seem so beyond our reach? Is this not precisely the point of traditional science education? We have enough trouble coping with arguments presented in print, let alone simulations and modeling. Postman’s argument implicates television, but television is not a techno-deterministic anomaly within an otherwise sensible cultural milieu; rather it is a manifestation of a larger pattern. What is ‘wrong’ here has as much to do with our relationship with print and other media as it does with television. Kay noted that “In America, printing has failed as a carrier of important ideas for most Americans” (1995). To think of computers and new media as extensions of print media is a dangerous intellectual move to make; books, for all their obvious virtues (stability, economy, simplicity) make a real difference in the lives of only a small number of individuals, even in the Western world. Kay put it eloquently thus: “The computer really is the next great thing after the book. But as was also true with the book, most [people] are being left behind” (1995). This is a sobering thought for those who advocate public access to digital resources and lament a “digital divide” along traditional socioeconomic lines. Kay notes,As my wife once remarked to Vice President Al Gore, the “haves and havenots” of the future will not be caused so much by being connected or not to the Internet, since most important content is already available in public libraries, free and open to all. The real haves and have-nots are those who have or have not acquired the discernment to search for and make use of high content wherever it may be found. (Kay 2000a, p. 395)What is to be done, then? This sort of critique puts the education system in the United States (and most Western countries, by obvious extension) in such bad light that many are tempted to depair. Kay’s project is relentless, though: with or without the school system, the attempt to reach children with powerful ideas and the means to working with them is always worthwhile. Part of the key to seeing a way through this is to remember that education does not equal school, nor does television (or any other medium) represent an essential obstacle to education. “Television,” says Kay, again recalling Postman’s argument, “is the greatest ‘teaching machine’ ever created. Unfortunately, what it is best at teaching are not the most important things that need to be learned” (1995). But in this are also the seeds of an alternative; how could different media be harnessed in such a way as to lead in a more productive direction? How can children have any “embedded cultural experience” that encourages learning logic and systems thinking? The answer isn’t in the design of any particular curriculum. Rather, Maria Montessori’s vision inspires Kay: putting the emphasis on children’s “absorbent minds” and the freedom to play and explore.The objects in our system are instead a help to the child himself, he chooses what he wants for his own use, and works with it according to his own needs, tendencies and special interests. In this way, the objects become a means of growth. (Montessori 1972, p. 150)
expertise and historical perspective
David Thornburg (Comment 11) introduces some historical perspective and argues a radical rejectionist position that there is nothing new in "web 2.0" and he cites a number of web 2.0 technologies that have historical precursors:
He goes on to point out that there is a difference between qualitative change (truly new stuff) and quantitative change ("web 2.0")Blogging? Oh, you mean “bulletin boards?” These were wildly popular when Marc Andreeson was in elementary school.
Oh, I know, Second Life! Yesiree. That has Web 2.0 written all over it. Except that Neal Stephenson wrote all about it in Snowcrash, published in 1992. His vision of a parallel virtual world became reality a few years later with a program called the Palace that kids all over the world were using to create virtual worlds ...
Although he is correct in a technical sense (a point acknowledged in the discussion and reinforced by Tom Hoffman, Comment 20: we should use language correctly, web 2.0 is hyped) I don't think he wins the debate overall
Chris Lehmann (Comment 13) and Andy Carvin (Comment 15) challenge David's qualitative / quantitative distinction in pointing out that a lot of incremental changes (even if not representing true innovation) do eventually add up to a qualitative change in the overall environment. I agree with this dialectic: sufficient quantitative change can lead into qualitative change.
A brief summary of some of the points they and others made:
hardware: broadband explosion, cheaper storage
software: easier to use applications, RSS matters for keeping track, tagging / folksonomies, open APIs
social: more user generated content: eg. blogs, wikis, photos, podcasts, video, more community
economic: low to zero barriers of entry to publish
I liked the way Mike Guerana (comment 46) summed it up:
The new iterations of the “old” web technologies have been amazing evolutions in being able to receive information that is more customized and personal. I like the fact that I can use Google Reader for RSS and not have to visit each page throughout the day. I don’t care what it is called ...OK. David Thornburg made a bold discussion point and there was a good response from some authorities and participants in the "web 2.0" community.
But historical analysis has many perspectives. There are other good critical discussion points about "web 2.0" that could have been made but were not. IMO, David Thornburg was making a technical-historical point, that web2 technologies have pre-web precursors. I think it might be more important to make the educational-historical point that we have seen great computer based educational technologies in the past - logo is a good example - that have now faded so much from view that many in the "web 2.0" community may not have even heard about them or the educational philosophies of their advocates (Papert, Harvey, Kay, Stager etc.)
Sylvia Martinez elaborates on this other history in web 20 and historical perspectives:
Furthermore, within the thread and within the web 2.0 community some things are said, by intelligent people, that I think are wrong / dangerous. For instance:Right now the concept of Web 2.0 in schools is in the hands of excited educators who have felt the power of learning something new and want to share it with their students and other educators. It’s a contagious, revolutionary feeling that we are on the cusp of something that will change the world.
This feels SO much like the 80’s, when computers first started trickling into schools. But the dark side is how schools, instead of letting educators show the way, turned to corporations and publishers to commercialize and pre-package the computer into school-friendly forms. It deprived students and teachers of authentic chances to program, to make music, and to create. Instead of the revolution in learning that seemed to be ever so temptingly on a permanent horizon, it turned computers into test prep machines that reinforced the way school “delivered” information to students.
The score: Technology - 0, “School” - 1
Miguel Guhlin (comment 42): "I don’t have to worry about being an expert since there are so many people out there who are experts…I can rely on you"
David Weinberger has written a book with this title: "Everything is Miscelleous"
Andrew Keen, a web 2.0 critic, said in his debate with David (video link) that the book was good but he could never agree with the title. I agree, the title is very bad. (I haven't read the book)
Leigh Blackall in response to my earlier post said he relied on trusted experts: "my Youtube experience is made up of recommendations from experts I already trust".
This argument reinforces my belief that expertise is another important question that "web 2.0" needs to address. When experts argue then we begin to make progress. We should not be trusting experts but building environments where they are encouraged to argue.
Overall the debate on David Warlick's blog was great because experts argued on issues of importance, many of the comments were of high quality and their was passion and involvement.
But web 2.0 is not always like this. One of Seymour Papert's learning principles espoused long ago in The Children's Machine (1992) is that, "a good conversation enhances learning". Well, how about a bad conversation? And aren't there many bad conversations on web 2.0 forums? As I said in an earlier blog:
Global village idiocy, banalisation, hive mind, self censorship and chasing popularity are all real problems.As web 2.0 scales this problem may well become worse. eg. at the moment most teachers who blog do have things of interest to say, they tend to be movers and shakers who want to change the system. Perhaps those clammering for more and more of web 2.0 ought to reflect a little on what normally happens to technologies once they enter the mainstream.
Monday, July 30, 2007
Pearson: progressive sounding leftist rhetoric has betrayed aboriginal people

Noel Pearson points out that progressive sounding "leftist" rhetoric originating from the tolerant middle classes is a cultural obstacle that aboriginal people have to overcome. Nice folks who want to do the right thing but who haven't thought deeply about the issues or are afraid to take a tough stand. In contrast, Pearson is a tough minded Leftist who can see through the wishy washy rhetoric and is prepared to unite with anyone who is prepared to take real take action in order to improve the situation of his people:
The middle-class producers of culture and ideology often see themselves as the Left. My texts have often been perceived as attacks on the Left. But I support key policies of the Left. In many areas, Aborigines can agree with the Left, including the people who have felt most hit by my criticism. I agree with them on land rights and conservation, trade unions, redistribution and the role of government in guaranteeing equitable health care and education.
The contention of mine that has caused most consternation when I have challenged the Left during the past eight years is that the result of progressive policies can be at odds with the good intentions that inspired them. My aim has been, as Dennis Glover wrote in The Australian yesterday, to "set higher standards for the Left" by critically examining the outcomes of ostensibly leftist policies. It is appropriate to set high standards because the Left's claim to the right to govern rests on its promise to lift the living standard and prospects of the lowest classes.
The challenge of education facing our children should be understood as a class challenge. There are strong class forces at work that are barriers to social advancement.
The main means by which class stratification is maintained and social progress impeded is not by direct and conscious oppressive behaviour by privileged classes. Rather, the forces of class operate culturally. They are embedded in the prevailing ideologies and intellectual currents, popular and niche cultures. Their effect is to cause confusion in the minds of lower-class people about social progress and how it may be achieved, and cause them to behave in ways that are contrary to their interests.
I developed a (provocative) rule of thumb when it comes to examining the nostrums and prescriptions of the middle-class culture producers, who often come from the progressive cultural Left: whatever they say our people should do, we should look at the opposite of what they say because that will usually be the right thing to do. Therefore:
* They say substance abuse is a health issue and should be approached with tolerance.
We say it is a behavioural and social order issue and we need to rebuild intolerance.
* They say education should be culturally appropriate.
We say this should not be an alibi for anti-intellectualism, romantic indigenism and a justification for substandard achievement.
* They say we should respect Aboriginal English as a real language.
We say we should speak our traditional languages and the Queen's English fluently.
* They say our people need to bedefended in a hostile criminal justice system.
We say we need more policing to restore law and order.
* They say our people are victims and must not be blamed.
We say our people are victimised but we are not victims.
* They say we have a right to passive welfare.
We say we do not have a right to dependency and, indeed, we have a greater right to take up a fair place in the real economy.
* They say economic integration is antithetical to our identity.
We say our culture cannot and will not survive as long as we live in the social dysfunction caused by economic dependency.
* They say poverty is our main problem.
We say passivity is our main problem because it prevents us from taking advantage of opportunities to get out of poverty and the resources we get are squandered.
The striking thing about this stark disagreement about what is really progressive is that we are at odds with so-called progressive thinking across vast tracts of policy.
For me it is not personal antagonism that explains the gulf between me and most national indigenous leaders and intelligentsia; it is this fundamental analytical and policy gulf about what is progress and what is not.
Glover is right when he says that I am a man of the Left because my fidelity is to the lot of the underclass, of whom my people are its most miserable members.
It is that I believe liberal and conservative policies have more to contribute to indigenous uplift than outdated progressive thinking.
It became clear to me that some elements of leftist ideology contribute to the barriers that keep our people down. The key to understanding this is to recognise the profound change in the role of leftist theory. When the theories of the Left were originally formulated, the Left was a revolutionary force. However, the Left has merged with power and government. Leftist ideology is integral to the political and intellectual structure of our society.
The challenge for the Left today is to stop assuming that leftist policy by definition is policy that will help the most oppressed. The most obvious example that this is not the case is the rise of a political and intellectual industry that explains, defends and facilitates behaviours that keep people in the underclass. A young Aborigine today who follows the conventional leftist recipes of the past four decades is destined to stay at the bottom of society.
Sunday, July 29, 2007
Squeak: Open Personal Computing and Multimedia
draft of Squeak: Open Personal Computing and Multimediaby Mark Guzdial, Kimberly Rose. Paperback - 544 pages 1st edition (June 15, 2001) Prentice Hall; ISBN: 0130280917
This post is a summary of the pdfs available from the above site, essentially a free download of an important book:
noel.pdf (39 pp)
Squeak for Non-Native Speakers by Noel Rappin
The goal of this chapter is to provide you with enough information about Squeak to understand the code samples and design principles in the later chapters, and allow you to experiment with it on your own – experimentation is a major part of the Squeak world view
steinmetz.pdf (34 pp)
Computers and Squeak as Environments for Learning by John Steinmetz
To promote more thoughtful discussion about computers and learning, and to provide some background before considering Squeak projects, this chapter will begin with general thoughts about children and computers.
Part 1 presents some assumptions and persistent misconceptions about computers and learning.
Part 2 presents their most common current use, simulating older media—such as words on paper or musical sound—while offering extra leverage for working in those media.
Part 3 considers brand new possibilities offered by computers, with entirely new ways to perceive and understand. Squeakers are developing tools, ideas, and genres to help these new media evolve
morphic.final.pdf (38 pp)
An Introduction to Morphic: The Squeak User Interface Framework by John Maloney
Morphic is a user interface framework that makes it easy and fun to build lively interactive user interfaces. Morphic handles most of the drudgery of display updating, event dispatching, drag and drop, animation, and automatic layout, thus freeing the programmer to focus on design instead of mechanics
pierce-final.pdf (24 pp)
Alice in a Squeak Wonderland by Jeff Pierce
This chapter is an introduction to Squeak Alice, an authoring tool for building interactive 3D worlds in Squeak
mathmorphs.pdf (42 pp)
MathMorphs: An Environment for Learning and Doing Math
Luciano Notarfrancesco and Leandro Caniglia
What if mathematicians had a place to keep all their living objects? Not a planar place, but a multidimensional one, with an unlimited capacity to hold things inside. A space with colors and movement.
andres 2.pdf (40pp)
Extending MathMorphs with Function Plotting by Andrés Valloud
This chapter describes how to plot mathematical functions in Squeak. It covers and shows the objects involved and how to present the results in Morphic using the MorphicWrappers. It is aimed at Squeakers who desire to develop objects with rich graphic representations
formatted-btf-once-more.pdf (12 pp)
Back to the Future Once More by Dan Ingalls
The purpose of this chapter is to update the paper “Back to the Future – The Story of Squeak, a Practical Smalltalk Written in Itself” (hereinafter simply “BTF”).
1. Introduction 2. The Evolution of Squeak 3. The Interpreter 4. The Object Memory 5. Storage Management 6. BitBlt and WarpBlt 7. Smalltalk to C Translation 8. Sound 9. Code Size and Memory Footprint 10. Performance and Optimization 11. The Squeak Community 12. Future Work
greenberg.pdf (31 pp)
Extending the Squeak Virtual Machine by Andrew C Greenberg
- Why Extend Squeak?
- Speaking Slang (a subset of Smalltalk)
- The Shape of a Smalltalk Object
- The Anatomy of a Named Primitive
- The Mechanics of Building a Plugin
A Tour of the Squeak Object Engine by Tim Rowledge
This chapter will explain the design and operation of the Squeak Object Engine. The term Object Engine is a useful phrase that encompasses both the Smalltalk low-level system code (such as the Context and Process classes) and the Virtual Machine. We will discuss what a Virtual Machine (VM) is, how it works, what it does for Squeak programmers and users, and how the Squeak VM might develop in the future.
parsia 2.pdf (13 pp)
Networking Squeak by Bijan Parsia, Bolot Kerimbaev, Lex Spoon
There is a apparent split in the Squeak worldview between the intensely individualistic and the thoroughly social. Squeak itself aspires to be a complete personal computing environment (with the single user in both computational and intellectual control from top to bottom) and a tool for collaborative development, exploration, and experimentation. This conception is akin to the notion of a networked personal computer—neither a thin client dependent on the network and server, nor an isolated workstation, but a node among peers, server, client, and self-sufficient in turn, separable but connected. A Squeaker is not merely autonomous, but autokoenomous
porting-subfinal 2.pdf (57 pp)
Porting Squeak
Squeak must be one of the most ubiquitous programming languages to date. In addition to the original version for Mac OS, Squeak has been ported to a wide variety of very dierent platforms: most major avors of Unix, MacOS-X, several variations of Windows and Win/CE, OS/2, several \bare hard-ware" systems, and so on
shafer-final.pdf (15 pp)
The Future of Squeak by Dan Shafer
Friedrich Nietzsche once said, “Our destiny exercises its influence over us even when, as yet, we have not learned its nature; it is our future that lays down the law of our today.”
If ever there was a topic to which Nietzsche’s thought could be applied, it is Squeak. We have not yet learned the nature of the destiny of Squeak because it continues to unfold before our very eyes and because we are about the business of creating that destiny. Yet, to an extent not attained by other programming languages and environments, Squeak has always been about the future. Its future has in fact determined many of the ways it works and thinks today.
stpope_siren7.pdf (37 pp)
Music and Sound Processing in Squeak Using Siren by Stephen Travis Pope
The Siren system is a general-purpose music composition and production framework integrated with Squeak Smalltalk (1); it is a Smalltalk class library of about 320 classes (about 5000 methods) for building various music-and sound-related applications
xp.pdf (22 pp)
Embracing Change with Squeak: Extreme Programming by J. Sarkela, P. McDonough, D. Caster
The XP practices embody a set of heuristics for recognizing and adapting to change, for change is the only constant in XP. The XP process values learning as a basic skill for individuals and the team, as the tensions inherent in development stimulate evolutionary growth. In the XP view, setbacks and failures provide essential feedback on which the software development process thrives, where risk is something to be understood and managed, not merely avoided.
Saturday, July 28, 2007
Squeak Etoys on the OLPC XO
Squeak Etoys on the OLPC XO
written by Alan Kay
This document is a first draft of a summary of Etoys on the One Laptop Per Child XO computer. It will undergo many changes in the next few months. The first official edition is expected by August 2007.
“Like-LOGO”: Scripting that is also mathematics, turtle as a vector
“Like-Hypercard”: WYSIWYG Page oriented UI & Media authoring for presentations, web content, etc.
“Like-Starlogo”: Massively parallel objects
“Like Squeak Smalltalk”: Everything is a dynamic object, multimedia, multiplatform, etc.
Aimed at a wide variety of users and levels of use
- Is use by many children and adults around the world
- Good for constructivist learning and teaching
- Multilingual
- Self contained and runs on many platforms
- Both standalone and web-based
- Integrated multimedia
- Collaborative
- Made from many integrated media objects
- Authorable at all levels from end-user to expert
Etoys is
“Like Logo” – but with costumes, multimedia, etc.
“Like Starlogo” – but at all levels of scale
“Like Hypercard and Powerpoint” – but simpler and richer
“Like Smalltalk” – it is Squeak Smalltalk underneath
“Like itself” – it has special properties that are unique
Etoys was first tested with children in 1997, and has since spread around the world to be used by many children in cultural and language environments. Etoys is multilingual and has been successfully used in USA, Europe, South America, Japan, Korea, India, Nepal, and elsewhere.
The multilingualization is dynamic: languages can be switched on the fly (this can be lluminating for children) and there is a “kit” that aids the introduction of a new language.
Etoys is also “ecumenical”: it runs on more than 20 platforms bitidentically including all of the standard ones, many PDAs and SmartPhones, and on the OLPC XO machine.
Current Languages include:
English, French, German, Spanish, Portuguese, Japanese, Chinese, Korean, Swahili
Languages in progress include:
Arabic
Greek
Thai
Friday, July 27, 2007
conversation and expertise in a flat but wrinkled world
And what did you hear, my blue-eyed son?It's better that everyone has their own interactive medium and chaos reigns, than the alternative of Big Media or traditional School alone. If we want radical change in the media and education then there is no alternative but to go through chaos. “Web 2.0” won't change School dramatically if it doesn't also change society dramatically.
And what did you hear, my darling young one?
...
I saw ten thousand talkers whose tongues were all broken,
I saw guns and sharp swords in the hands of young children,
...
Heard one hundred drummers whose hands were a-blazin',
Heard ten thousand whisperin' and nobody listenin',
Heard one person starve, I heard many people laughin',
Heard the song of a poet who died in the gutter,
Heard the sound of a clown who cried in the alley,
...
- Bob Dylan, A Hard Rain's A-Gonna Fall
The technology that is popularly but problematically named web 2.0 is, unfortunately, also a trademarked O'Reilly marketing slogan. Paul Graham provides some clarity here in his interpretation of the phrase:
- Ajax - JavaScript works, eg. Google Maps, web based apps are getting better
- Democracy - amateurs can sometimes surpass professionals (wikipedia) and deciding what counts for news (reddit, delicious)
- Don't maltreat users - avoid heavy handed branding, signing up procedures, offer free services where possible
The social optimists' hope for web 2.0 is that it is disruptive and corrosive to the hierarchical way of doing things, enabling the active participation and empowerment of those formerly known as the audience.
The pessimistic or realistic problem with web 2.0 is its tendency to overreach itself and the inevitable fact that as it grows (a new blog every second), the quality must decline.
My own blog was initially more intended as an easily searchable online notebook than anything else. I was initially surprised at the number of other people who read it and it took me a while to take the conversational aspect of it seriously. I've learnt a lot from some other bloggers (eg. artichoke) in the way they nurtured their comment threads – and eventually through thoughtful comments received on my own blog.
One possible downside to being noticed is that I might end up wanting to please those readers rather than representing my own thoughts (self censorship). The upside is that knowing there are readers persuades me to express my thoughts more clearly, partly for the readers' sake, but that is a huge benefit for me as well. There is positive pressure to make your thoughts clearer for a real audience, especially a critical audience who can respond.
But not all blogs or discussion groups are like this. Web 2.0 can also be a game that people learn to play in an attention seeking economy. Global village idiocy, banalisation, hive mind, self censorship and chasing popularity are all real problems.
I also need time alone to read books, for slow, deep thinking, for reflection, to get away from the business and shallowness of much of the web. Now I think it's more about exploring meanings, I never thought that meaning was so complicated but blogging has gradually changed me. If there is a real struggle to express ourselves more expertly through language then that recreates who we are.
However, the notion of using “web2.0″ tools to expand expertise (certainly possible) is different from the notion of bloggers already being experts. The internet has certainly blurred the lines between expert and amateur. But as well as some amateurs displaying expert knowledge there are also lots of amateurs pretending to be experts when they are not. For me the important question is not web 2.0 as such but how do we work out who an expert is? Expertise is special IMO and ought to be valued. I’m critical of theories that just emphasise the importance of connection without saying much else.
Paul Graham makes a point about Democracy. Amateurs can sometimes surpass professionals (wikipedia) and deciding what counts for news (reddit, delicious). Unlike blogs, the sites mentioned here have quality control mechanisms. Collectively, the blogosphere is doing the filtering for us. But of course these sites are still evolving, they have not solved the issue of expertise.
Computers and the internet do have a disruptive effect on School, Media and many of our ideas, including our idea of expertise. I think it is the disruptive potential that makes the system and some teachers (many follow the lead of the system) hesitant.
The bible writing monks were experts at all things involved in being a bible writing monk. But that didn’t make them experts in all things involving printing. I wonder how many made the transition?
So what is our notion of expertise? How do we recognise a powerful idea, how do we recognise an expert? For me, this is the question that the “web 2.0” movement needs to answer.
Alan Kay's remarks about our lack of computer science could also be applied to web 2.0:
"Computing spread out much, much faster than educating unsophisticated people can happen. In the last 25 years or so, we actually got something like a pop culture, similar to what happened when television came on the scene and some of its inventors thought it would be a way of getting Shakespeare to the masses. But they forgot that you have to be more sophisticated and have more perspective to understand Shakespeare. What television was able to do was to capture people as they were. So I think the lack of a real computer science today, and the lack of real software engineering today, is partly due to this pop culture."references:
The title includes a reference to Tom Friedman's well known book, The World is Flat. Thanks to durff for the insight that it is also wrinkled.
Web 2.0 Paul Graham analysis of Web 2.0
economics-of-information-resources
the comments contains a dialogue between artichoke and myself, which helped clarify some of my views
teachers are experts Comment I left at Graham Wegner's blog contradicting the thesis that teachers are experts
That's Hot - Web 2.0 and the Empty Vessel Sylvia Martinez, Web 2.0 is often little more than a marketing slogan
Ten Things Radical about the Weblog form of Journalism Jay Rosen
This reference and the next one draws attention to the fact that thoughtful commentators from the beginning have understood that blogs have both a radical and conservative nature
Ten Things Conservative About the Weblog Form in Journalism Jay Rosen
Debate between David Weinberger and Andrew Keen (video)
There is a great discussion, towards the end of this debate, about the nature of expertise. I liked Andrew Keen's approach about the historical importance of the nation state, democracy and authority, that it is a debate that we have to have, although I thought that the audience did very well in challenging Keen (eg. the guy from Canada, the guy from wikipedia), perhaps more so than David Weibberger did.
What are we going to say about 'Cult of the Amateur'
Clay Shirky went along to a forum to criticise Andrew Keen's book about “The Cult of the Amateur” but ended up saying that it made some valid points against some more one eyed blog evangelists
Andrew Keen: Rescuing 'Luddite' from the Luddites
A follow up more effective effort by Shirky to refute Keen
america discovers social class
danah boyd has been brave and it has struck a nerve
Viewing American class divisions through Facebook and MySpace
Responding the responses to: Viewing American class divisions through Facebook and MySpace
This essay addressed one of America's most taboo topics: class. Due to personal circumstances, I wasn't online as things spun further and further out of control and I had neither the time nor the emotional energy to address all of the astounding misinterpretations that I saw as a digital game of telephone took hold. I've browsed the hundreds of emails, thousands of blog posts, and thousands of comments across the web. I'm in awe of the amount of time and energy people put into thinking through and critiquing my essay
Sunday, July 22, 2007
the image file, the virtual machine, bytecodes and more
On the Windows version from Squeakland I have downloaded:
SqueakPlugin.image 12.5 MB
Squeak.exe 1.05 MB
On the Ubuntu linux version on the itshare laptop there is:
Squeak3.8.image 17.5 MB
SqueakV3.sources 13.9 MB
Squeak3.8.changes 13.6 MB
(I can't see the squeak-vm file?)
On the Ubuntu linux version on my older computer I have:
squeak-image_3.8.deb 11.1 MB
squeak-sources_3.deb 3.3 MB
squeak-vm.deb 0.5 MB
THE IMAGE FILE
Smalltalk is its own development and runtime environment. Rather than executing programs on top of an underlying operating system layer which maintains file input-output and a file system, Smalltalk runs in an “image”—a single, live “file” that manages its own memory use, reads and writes itself to disk transparently when required, and which permanently maintains the entire state of the environment. It is this ‘live’ and persistent image which allows Smalltalk to be changeable “on the fly”—other languages require that one make changes to source code files and then recompile or re-run the files in order to make a change. (From Maxwell, p. 154)
Another explanation:
Most programming systems separate the program code from the program state. Program code is just text and can be stored in a text file. Program state is the exact place (a snapshot) of where the program has got to at a particular point of time. To store program state requires an image, an exact bit by bit description.
Smalltalk / Squeak is different from most other programming languages in that it does not separate code from state. It stores the entire application state in an image file.
(LISP is another programming language which also uses image based persistence. In the case of LISP the code is a form of data, once again the distinction between the code and the state is blurred)
http://en.wikipedia.org/wiki/Smalltalk#Image-based_persistence
VIRTUAL MACHINE
A Virtual Machine is a software layer that provides us with a pretense of having a machine other than the actual hardware in use. Using one allows systems to run as if on hardware designed explicitly for them
http://www.rowledge.org/tim/squeak/OE-Tour.html
An application is written for a virtual machine and can then operate on any platform or OS. How? The application is run on a computer using an interpreter of JIT (Just in Time) compilation
http://en.wikipedia.org/wiki/Virtual_machine
BYTECODES
The image file consists of bytecodes, which is a highly compressed and optimized representation of the source code, but is not machine code (and therefore not tied to any particular hardware). Just-in-time compilation or JIT, refers to a technique where bytecode is compiled to native machine code at runtime. This technique was pioneered in Smalltalk in the 1980s.
http://en.wikipedia.org/wiki/Interpreter_%28computer_software%29
SOURCES AND CHANGES FILES
The Squeakland educational version does not include the sources and changes files. But the full Squeak version does include sources and changes. These files are more important for developers.
The Sources file. This is where all the source code for Squeak is stored. However, the system can be operated without any source code, owing to its ability to decompile the bytecode methods into a readable and editable version of the original source code (only comments and temporary variable names are lost).
The Changes file. Everything that you do goes into the changes file as soon as you do it: Every DoIt, every new class, every new method. This means that if you crash Squeak, your work isn't lost. It's probably in the changes file. The changes file is just a text file -- you can copy out anything that you need to recover from. From the Desktop Menu, you also have access to several
changes utilities that let you look over your changes file and recover lost things. From the Desktop Menu, select Changes, then recent change log to find see all changes from every quit or save that you’ve executed.
Project files. My Etoys projects save as *.pr files, along with a gif image. Projects are used to capture and switch the entire display state. Therefore they store much of the state.
http://wiki.squeak.org/squeak/1817
messages are different in Smalltalk
Early Smalltalk was the first complete realization of these new points of view as parented by its many predecessors in hardware, language and user interface design. It became the exemplar of the new computing, in part, because we were actually trying for a qualitative shift in belief structures--a new Kuhnian paradigm in the same spirit as the invention of the printing press-and thus took highly extreme positions which almost forced these new styles to be invented
- Alan Kay, The Early History of Smalltalk
- Everything is an object.
- All computation is triggered through message sends. You send a message to an object, and something happens.
- Almost all executable Smalltalk expressions are of the form <receiverobject> <message>.
Messages trigger methods where the mapping of message-to-methods is determined by the receiving object. Methods are the units of Smalltalk code. - Chapter 2. A Tour of Squeak, in: Squeak: Object-Oriented Design with Multimedia Applications by Mark Guzdial
Kay has repeatedly expressed his regret that he chose the term “object-oriented” instead of the more relational concept of “message-oriented.” What is important about biological cells in Kay’s systems theory rendering of them isn’t what they’re made of, but rather their modes of interacting.Examples:
- Tracing the Dynabook by John Maxwell, p. 121
This first one is from Stephane Ducasse's book on learning squeak through programming robots and the others are from Mark Guzdial's book cited above. Comments are in "quotes".
| pica | "local variable declared"
pica := Bot new. "The new message is sent to the Bot class to create a new robot and associate with it the name pica (:= is for assignment)"
pica go: 100 "the colon (:) after go means that an argument is required. go: 100 is a message send to the robot object pica, which can also be described as the message receiver"
1 to: 10 do: [instruction block]
1 to: 10 do: [] is a message send to the object 1! The message to: do: is a message understood by the Integer class! 10 and the block of code (statements contained in square brackets) following do: are actually arguments in the message.
1 to: 10 do: [:i | Transcript show:(i printString), ' times'; cr]
do: evaluates the block, :i defines the index variable for the loop, the vertical bar separates the definition from the rest of the statement, printString sends a message to i, the Transcript is a separate window, the comma (,) means concatenate, the semi-colon is used to string statements together and cr stands for carriage return. The output to the Transcript window is:
1 times
2 times
3 times
4 times
5 times
6 times
7 times
8 times
9 times
10 times
anArray := Array new: 10. "create a new array with 10 places"
#(nil nil nil nil nil nil nil nil nil nil)
| aValue | "declare a variable"
aValue := 2.
Everything is an object. This rule does not actually mean "Set the value of 'aValue' to integer 2" but instead means "Set the variable aValue to point to an SmallInteger object whose value is 2."
1 to: 10 do: [:index | anArray at: index put: aValue*index ].
Transcript show: anArray
Output to Transcript window:
#(2 4 6 8 10 12 14 16 18 20)
This has given me some understanding of how messages are both important and different in Smalltalk.
Don't be too proud of web 2.0.
It's a double edged sword. We have enhanced powers of connection and collaboration, many wonderful new applications but also some are thinking that enhanced ability of connection is some sort of virtue in itself. Like spam. It's not. Connection without discernment leads to trivia. The 1000 monkeys hammering on the typewriter is a real part of web 2.0. In some ways Web 2.0 is like TV, mainly crap, with the occasional good programme. Yes, web 2.0 is interactive, I know, but that creates new problems as well as new opportunities.
Things I have noticed:
- Global village idiocy, like the uncritical promotion by some of conspiracy theories of history on the TALO list (zeitgeist)
- Language based mathematics as state of the art, with no apparent awareness that great ideas about teaching maths using logo has been around for many years - yes, web 2.0 can be great for language based learning but that's not the end of the story
- Web 2.0 bloggers sounding off about how information has changed but then running for cover when asked to deepen their analysis (how has information changed?). What is the point of blogging if you are not prepared to deepen?
- New theories such as connectivism which are not built on a sound analysis (a challenge to connectivism)
- No historical awareness of some of the great educational software (eg. Smalltalk / Squeak / Etoys, logo, *logo (pronounced star logo) and hypercard) and educational theorists (eg. Papert, Harvey, Kay) that have been around for years.
Don't be too proud of web 2.0.
Tuesday, July 17, 2007
OLPC images by country

Nigeria

Thailand

Brazil

Nepal

Peru
Uruguay
The Cape Experiment: The inside story of the radical welfare reforms on the Cape York Peninsula

http://abc.net.au/4corners/
The Cape Experiment: The inside story of the radical welfare reforms on the Cape York Peninsula
This was on ABC TV (Monday 16th July) last night and will be repeated today (Tuesday) at 11:35 am. Also, the full program will be online from today.
It puts a compelling case for the urgent need to end passive welfare dependency for indigenous Australians, which in some cases transforms itself into 4 day long grog fuelled parties, violence, child abuse and perpetuates dislocation from the real economy. This has been going on for years.
Noel Pearson emerges as a troubled, gutsy leader who as well as thinking through the blueprint for welfare reform has to deliver the bad news to his home town (HopeVale, 50km north of Cairns). He reflects on the personal angst this has caused him.
Friday, July 13, 2007
my CEGSA conference presentations
One Laptop per ChildI'm fortunate in that Paul Schulz has agreed to assist me with the hardware part of the presentation
The One Laptop Per Child project plans to release millions of cheap laptops to developing countries over the next few years. This presentation will discuss the hardware, software and educational goals of the OLPC Project.
Alan Kay's Educational Vision
Alan Kay, winner of the 2004 Turing award, invented the first object orientated programming language, Smalltalk. His educational vision, developed over 30 years, has not received as much attention but is just as interesting. This presentation will describe that vision.
Wednesday, July 11, 2007
kidney tumour removed

I've been away for 12 days, in hospital having my kidney tumour (and left kidney) removed.
The first 3 days were to restore my blood to normal, since I was on blood thinners for an earlier pulmonary embolism (blood clots in pulmonary artery). This require a heparin drip, since heparin blood thinning is reversible within a few hours.
I had my operation on Tuesday 3rd July. I was unconscious from 8:30am to 3pm. The surgeons told me that it was a very successful laproscopic (keyhole) procedure. Nevertheless, you do wake up at the end of it in a lot of pain and feeling very groggy from the anaesthetic.
However, I made a rapid recovery and was transferred out of high dependency to the North2 Ward within 24 hours of the operation. By Thursday all the drip and wound lines had been removed and I was walking independently again
There were some minor complications (mysterious heart pain for a couple of days) but new tests indicated there was nothing wrong and the pain eventually disappeared.
The kidney biopsy showed that the tumour was non malignant!! A Renal Oncocytoma!! This, of course is good news, I don't have cancer. Also fortunately, I was prepared for this possibility psychologically (kidney tumours are a catch 22 situation) and further research shows that it seems to be best for this tumour to be removed anyway.
I still need more time to achieve a full recovery but certainly my prognosis is excellent.
Many thanks to those who have supported me through this time
Tuesday, June 26, 2007
noel pearson on the national emergency response to protect Aboriginal children in the Northern Territory
Howard's motivation is not the most important thing.
But what do you do when a child is being subjected to abuse this very day? What do you do when a child is likely to be abused next week? What do you when the abuse is going to happen the week after next? What do we do when there are scores of children involved across the communities, the states and territories? If it were your child at risk of this suffering, would you think this a matter of emergency?Read the whole thing.
This is not a moral panic. The abuse is real. This is not a media or political beat-up. The report from Pat Anderson and Rex Wild confirms a reality of suffering. Something has to be done to relieve the suffering now, not in six months, not in two years. Now.
We can’t rehabilitate people from alcohol or drug dependence immediately. We can’t fix the poor education immediately. We can’t fix up the poor health immediately. But we must stop the suffering straight away. Everyone, from the Prime Minister to his bitterest opponents, centres their preferred strategy or response on the fate of the children. No one can escape this fact: the fate of the children is the bottom line. Whatever one thinks of Howard and Brough, their strategy is justified on the basis of the fate of the children. If not Brough and Howard’s plan to stop the suffering, then what alternative plan should be pursued? Here most of the critics fall into a deafening silence. They have vociferous views about what will not work, but they are silent about what will work. So the sum total of their response—“we don’t need missionary paternalism again”, “prohibition doesn’t work”, “indigenous people must consent to the changes”, “we need more government services”, “we have to provide rehabilitation”, “we have to deal with intergenerational trauma”, “we have to deal with things in a holistic way”—is inaction and procrastination while children’s lives continue to be ruined. It is not that the points made by the critics are wrong—they are often correct—but their criticism does not translate and often cannot be translated into action.
I wrote another article about noel pearson's analysis of aboriginal issues here
kidney tumour
This was discovered by CT scan in early May after a few hours of pain in that spot. There has been no pain and no other symptoms apart from that, before or since.
Recently, I asked to see the x-rays generated by the CT scan and I was shown the slide show (over 400 x-rays) and the tumour was pointed out to me. It looked a bit like these images which I found on the internet.

I'm due for surgery on Tuesday July 3 and the plan is to do a laparoscopic (keyhole) nephrectomy. Due to the position of the tumour and the possibility of cancer the whole kidney, adrenal gland and lymph nodes will be removed.
What I've discovered is that a kidney tumour, which may be cancer, is a Catch-22 situation. In fact, one of my doctors used the phrase, Catch-22, in describing it.
If we don't cut it out then it might be cancer. If we do cut it out then it might turn out not to be cancer
This unsatisfactory situation arises from these factors:
- Chemo doesn't work on kidney cells because kidney cells are designed to remove toxic chemicals!!
- The kidney has a rich blood supply (because its job is to filter the blood) and so any attempt to biopsy a kidney tumour will spread it to other parts of the body
- There is no blood marker for kidney cancer

It is upsetting to have no choice really but to go through with major surgery when I'm not even certain that I have cancer. I am in the process of dealing with that as a psychological issue. I've done my own internet research but at some point you have to trust the experts
My prognosis for full recovery is about 90%
Tuesday, June 19, 2007
Thursday, June 14, 2007
Mark Shuttleworth's Ubuntu manifesto
Big challenges for the Free Software Community
"The real challenge lies ahead - taking free software to the mass market, to your grandparents, to your nieces and nephews, to your friends. This is the next wave, and if we are to be successful we need to articulate the audacious goals clearly and loudly - because that’s how the community process works best"# 13: "Pretty" as a feature
"If we want the world to embrace free software, we have to make it beautiful..."
#12: Consistent packaging
"... I’d like to see us define distribution-neutral packaging that suits both the source-heads and the distro-heads"
#11: Simplified, rationalised licensing
"I’m absolutely convinced it is free source, not “open” source, which is at the heart of the innovation that will carry free software to ubiquity ... But my voice is only one of many, and I recognise in this world that there are lots of reasonable, rational positions which are different but still, for some people, appropriate ... So what can be done? Well, I turn for inspiration to the work of the Creative Commons. They’ve seen this problem coming a long way off, and realised that it is better to create a clear “licence space” which covers the various permutations and combinations that will come to exist anyway ..."
#10: Pervasive presence
"... turning that haphazard process into a systematic framework - making sure that you (well, more accurately your laptop and your cell phone) know how you should reach out and touch the person you want to communicate with. It’s about an integrated addressbook - no more distinctions between IM and email ..."
#9: Pervasive support
"... why do people say “Linux is not supported”? Because the guy behind the counter at their corner PC-cafe doesn’t support it ... This is why I encourage governments to announce that some portion of their infrastructure will run on Linux - it catalyses the whole ecosystem to make their existing capacity public ..."
#8: Govoritye po Russki
"There are 347 languages with more than a million speakers. But even Ubuntu, which has amazing infrastructure for translation and a great community that actually does the work, is nowhere close to being fully translated in more than 10 or 15 languages"
#007: Great gadgets!
"This world is increasingly defined not so much by the PC, as by the things we use when we are nowhere near a PC. The music player. The smart phone. The digital camera. GPS devices. And many, perhaps most, of these new devices can and do run Linux ..."
#6: Sensory immersion
"What interests me are the ways in which there is cross-over between the virtual world and the real world ... there’s going to be a need for innovation around the ways we blur the lines between real and virtual worlds"
#5: Real real-time collaboration
"... people who work with word processors and spreadsheets have rights too! And they could benefit dramatically from much better collaboration ..."
#4: Plan, execute, DELIVER
"Bugs, feature planning, release management, translation, testing and QA… these are all areas where we need to improve the level of collaboration BETWEEN projects. I think Launchpad is a good start but there’s a long way to go before we’re in the same position that the competition is in - seamless conversations between all developers"
#3: The Extra Dimension
"...an opportunity to rethink and improve on many areas of user interface at the system and app level which have been stagnant for a decade or more"
#2: Granny's new camera
"... the ends of the spectrum - the power users and the don’t-mess-with-my-system users, are already well serviced by Linux ... It’s the middle crowd - the guys who have a computer which they personally modify, attach new hardware to, and expect to interact with a variety of gadgets - that struggle. The problem, in a nutshell, is Granny’s new camera"
#1: Keeping it FREE
"... create something that we’ve never had before, which is a completely level software playing field for every young aspiring IT practitioner, and every aspiring entrepreneur. I believe that’s how we will really change the world, and how we will deliver the full benefit of the movement started more than two decades ago by Richard Stallman"
So that's one way the kids are learning...
- source
(direct link not available, so I have left the date and time information in)