Archive for October, 2010

Doing surgery on Smalltalk Objects

October 19th, 2010 No comments

UPDATE: for class variable reflection, see the end

I had a class with an instance variable that required no accessors, like this:

Object subclass: #MyObject
instanceVariableNames: 'instVarWithoutAccessors'

The instance variable was initialized to hold an OrderedCollection, but after working with the object for a while, I decided that it should be a Dictionary.

Now comes the problem…  I had objects floating around that already contained a non-empty OrderedCollection.  I didn’t want to add otherwise-not-needed accessors.  Luckily, because of Smalltalk’s awesome reflection capabilities, it was a breeze to reach into these objects and surgically change them.  For each object, I just evaluated:

| temp oc |
oc := self instVarNamed: 'instVarWithoutAccessors'.
temp := Dictionary new.
oc do: [ :d | temp at: d name put: d ].
    instVarNamed: 'instVarWithoutAccessors'
    put: temp.

And a quick inspector showed that the objects now contained a Dictionary that contained all the elements contained in the original OrderedCollection (note that I changed the class/var names in the above text to simplify the explanation):

UPDATE: to get at a class variable via reflection, try:

 MyClass classPool at: #ClassVarName
Categories: Smalltalk Tags:

The Purpose of Education

October 8th, 2010 No comments

In a great presentation, Alan Kay reminds us that the purpose of education in a republic is to produce citizens who are capable of critical, rational thought.

I know no safe depository of the ultimate powers of society but the people themselves; and if we think them not enlightened enough to exercise their control with a wholesome discretion, the remedy is not to take it from them, but to inform their discretion by education.

Thomas Jefferson

Yet no one remembers this…

[Teachers, principles and school boards] think schooling is set up for vocational training or dealing with social problems.

Alan Kay

Categories: Education, Performance Tags:

Book Review: “The Engelbart Hypothesis: Dialogs with Douglas Engelbart”

October 7th, 2010 1 comment

Every human being should be familiar with Doug Engelbart’s work.

His mission is to raise human intelligence to match today’s problems, which are more complex and urgent than anything we’ve evolved to face, and are beyond the limits of our default abilities to solve.  This mission itself is urgent, because we have to do all this before we destabilize the global ecosystem, plunge into nuclear winter, or extinguish ourselves in any number of creative and possibly imminent ways.

Whether you are an Engelbart scholar, or are thinking, “Doug who?”, this book gives a great overall picture of the vision, as well as practical experiences of its application from prominent leaders.

Check it out at

p.s. there is also a free online version, but if you like it (as I do), make a donation to support this gift to humanity

Categories: Performance, Programming, Smalltalk Tags:

Review: A Mentoring Course on Smalltalk

October 2nd, 2010 2 comments


This is the best programming book I’ve ever read – and I’ve read them all – in C, C++, Ruby, and Smalltalk.


It’s definitely not a basic book – but it’s not complicated either (although it gets pretty deep).  In fact, while the code is all Smalltalk, it’s not about the language at all.  It could be called “Zen and the Art of Smalltalk”.  It gets at the heart of what it takes to go from an intention to create something, in a world we don’t really understand, to a successful outcome, that is simple, beautiful, efficient, and easily evolved.

Final Thoughts

I’m still gnawing on much of it (I just finished it a few days ago), but my viewpoint on programming has irreversibly shifted and, as Alan Kay says, “Point of view is worth 80 IQ points”. I think the programming world would be a better place if everyone read this book… I can’t believe I just gave a Reading Rainbow book report.  My life is complete.
Categories: Performance, Programming, Smalltalk Tags:

Unlocking Squeak Etoys

October 1st, 2010 No comments

I always forget how to turn on the developer tools in Etoys.  It is a simple preference set, but the name escapes me, so I’m writing it down.

  1. Bring up the halos on the world and select the ‘Menu’ halo
  2. Choose Preferences
  3. Under ‘scripting’, disable the ‘eToyFriendly’ Preference:

And you have full access to the developer tools…

Categories: Etoys Tags:

windows 7 product key

windows 7 product key

windows 7 key generator

windows 7 key generator

free winrar download

free winrar download

winzip activation code

winzip activation code

free winrar

free winrar

winzip free download

winzip free download

winrar free download

winrar free download

winrar download free

winrar download free

winzip free download full version

winzip free download full version

windows 7 activation crack

windows7 activation crack

windows 7 crack

windows 7 crack

free winzip

free winzip