[etoys-dev] new chapter for more objects in reference manual

Edward Mokurai Cherlin mokurai at sugarlabs.org
Tue Oct 16 17:17:10 EDT 2012

Thanks, Rita. I am happy about you reverting to the intended design,
and putting my additions in other places.

I tried to ask about the design of the Etoys Reference Manual when I
started making additions to it. This is the first answer I have gotten
to some of those questions.

On Tue, October 16, 2012 3:14 pm, Rita Freudenberg wrote:
> I also made another pass on the existing objects chapter. I removed all
> objects that are not accessible through the object catalogue.

I think we need to make it clear if we are only describing objects in
the Objects chapter that are in categories in the Object Catalog, and

I see that you moved Holder, which is in the Scripting category. Would
it be acceptable to move it back? That is just the first item that
jumped out at me. I will make several more detailed passes over both
Object chapters once I know what the plan is, for content, style, and

I see that you have moved only some of the objects that are in no
category. Do you intend to move the rest of them?

> As I explained before, that was our decision when structuring the manual.
> I added all the parts that I removed to a new chapter which is called
> "More Etoys Objects" right now. I'm happy about suggestions for a better
> name!

I will think about it.

> Having a new chapter was also suggested by Karl in this discussion.
> I also took out the references about the class hierarchy of the Etoys
> objects (but copied it into the new chapter, the information is not
> lost!). I think that this is very valuable information! It is great work
> to have this easily available!

Much of that information is still in the Objects chapter.

> But please accept that this is a group effort. We started 2 years ago,
> with a book sprint and extensive discussions about the structure and
> content of the manual. We will finish our manual in the way we decided
> then.

Are those discussions archived or otherwise documented?

> We deliberately excluded information about the underlying Squeak. I'm
> happy to have a chapter about the introduction into Squeak

My plan is to provide the most basic information about parts of Squeak
accessible directly from Etoys, mainly via various menus and key
combinations, and to say nothing about how to develop in Squeak except
some hints about when it is necessary to drop from Etoys to Squeak to
accomplish certain tasks.

For example, the color attributes  for Morphs include RGB components
for the main color, but not for border or pen trail colors. I have an
Etoys workaround, and I am looking at how one would work across the
Etoys/Squeak boundary on such things in text programming on tiles, or
how one would implement the component model for borders and pen
trails. Most of this would not be appropriate for this manual, but
there is, I feel, an irreducible minimum that is necessary here.

I do want to answer the question about finding the Squeak names for
instances of Etoys Morphs, or for attributes such as Morph's pen color
or the values of variables. Can someone interpret this for me?

an EllipseMorph<Ellipse>(563)

in an inspector with the title

an UnscriptedPlayer (879) named Ellipse

The {Object}'s pen color tile renders in text as, for example,

self setPenColor: (Color r: 0.0 g: 0.0 b: 1.0)

How can I set those components in Etoys? I see

self setVar1: 1
self setVar2: 1

as the text for two variable tiles. Then what? How do I refer to them elsewhere?

For simple variables and arguments, I see how to drop the value of
another variable in as a simple value or part of an expression. For a
color where the components are not provided as Etoys variables, I
don't see it at all.

I will have to explore further and raise further questions, I think. I
seem to get contradictory information from the Implementors view and
the Hierarchy view. Perhaps I just mean information that makes no
sense to me, yet.

> or the new
> chapter I created for all the objects which you can only get when
> etoy-friendly is turned off or which you can only access in the class
> browser. I'm also happy to discuss this on the list. But for all the
> contributors to the manual so far, it does not feel fair to see changes
> made without group consent.

I will be happy to have that conversation.

> I hope you understand my point. What I don't want you to think is that I
> don't value your work! Feel free to create the new chapter the way you
> think is best.

Thank you.

> Greetings,
> Rita
> Am 14.10.2012 um 19:46 schrieb Edward Mokurai Cherlin:
>> I did make another pass over the Objects chapter, filling in the
>> Object Catalog entries that appear with eToyFriendly off, and adding
>> more images and references to bug reports.
>> On Wed, October 10, 2012 7:18 am, Rita Freudenberg wrote:
>>> Please do not add or remove objects from the objects chapter. In this
>>> chapter, we will ONLY have objects you can find in the objects
>>> catalogue.
>> I disagree with this notion. However, it does not matter much to me
>> which chapter the descriptions appear in as long as I can make them
>> clear, correct, and complete.
>>> It does not matter in the object chapter in which subclasses these
>>> objects
>>> are implemented. The scope of information in the object chapter is
>>> Etoys,
>>> not Squeak
>> I disagree. This is a Reference Manual.
>> In addition, because of deficiencies in the Etoys implementation,
>> there are important properties of some Etoys objects that cannot be
>> managed in Etoys, but require use of Squeak to make those objects of
>> any use.
>> This is a separate topic, but I find that Etoys is in need of a major
>> refactoring, and also a detailed proofreading and a substantial
>> rewriting of exceedingly uninformative help text and comments. I am
>> shocked by the sloppiness I see.
>>> (i.e. the underlying programming language, you can only reach
>>> easily when you turn Etoy friendly off).
>> This turns out not to be the case. All of Squeak is accessible using
>> keyboard shortcuts, the inspect object menu item in the Players tool,
>> and the middle-click menu, regardless of the eToyFriendly setting.
>> Inspector, explorer, debugger, browser, senders, implementors,
>> references, selectors, method strings, class names, change sets,
>> workspace, transcript, and more.
>> Granted that none of this is easy to discover, nevertheless it is
>> quite easy to reach after only a few hints and brief explanations.
>> Understanding how to use the Squeak IDE and Smalltalk is of course
>> much more complicated than that.
>> The most obvious difference with eToyFriendly off is that Workspace
>> appears in the Object Catalog, but there are 49 places in Squeak
>> (senders) that refer to the eToyFriendly setting, and I have not had a
>> chance to look at them all.
>>> I'm happy to have an appendix with all the other objects and I'll move
>>> your descriptions to that chapter. It is very important information!
>>> But
>>> not for the average Etoys user, not for the teacher who just start
>>> using
>>> Etoys
>> It is my understanding that this is a Reference Manual, and not in any
>> way an introduction to Etoys for either teachers or students.
>>> and you can use Etoys happily for many challenges with your students
>>> without ever looking at the underlying Squeak source code.
>>> For computer science teachers, on the other hand, what you wrote down
>>> is
>>> very useful.
>> You and I seem to have very different views of what children are
>> interested in learning. In a word: everything. It is the worst sort of
>> condescension to tell children (or anybody) what they are allowed to
>> know about, except that it is even worse condescension to claim to
>> tell them what they _want_ to know about.
>> When I want to hear _your_ opinion, I'll *tell* it to you.--Any
>> tyranny since Plato, most notably the Prussian school system
>> The greatest principle of all is that nobody, whether male or female,
>> should be without a leader. Nor should the mind of anybody be
>> habituated to letting him (or her) do anything at all on his (or her)
>> own initiative–to his leader he shall direct his eye and follow him
>> faithfully. And even in the smallest matter he should stand under
>> leadership. For example, he should get up, or move, or wash, or take
>> his meals...only if he has been told to do so. In a word, he should
>> teach his soul, by long habit, never to dream of acting independently,
>> and to become utterly incapable of it.
>>    Plato, Laws 942d (350 BCE)
>> Johann Gottlieb Fichte (1762–1814)
>>    You must fashion [the person], and fashion him in such a way that
>> he simply cannot will otherwise than what you wish him to will.
>>    Addresses to the German Nation
>> What I wrote down is precisely what I would have liked to see when I
>> was eleven years old. What I would have demanded to see, in fact.
>> Etoys is an excellent introduction to programming, but at a certain
>> point vastly frustrating. At that point being able to go under the
>> hood into Squeak to fix broken objects or extend their capabilities is
>> of immense value. The notion that one must wait for a computer science
>> course to learn real programming is to me utterly contrary to the
>> reality that we hear from student programmers. We know for a fact,
>> from a great many studies involving a wide variety of programming
>> languages, that children can learn text-based programming languages
>> starting in third grade. I have a notion that we can start Turtle Art
>> in preschool, in large part by getting rid of the words on the tiles
>> and replacing them with Unicode symbols. I started to create such a
>> system last year, and wrote about it, with examples.
>> http://wiki.sugarlabs.org/go/Activities/TurtleArt/Tutorials/Turtle_Art_programming_without_words
>>> In the appendix, I added the chapter "More etoys objects" and I started
>>> to
>>> copy all objects, which are not in the object catalog, to that chapter.
>>> We
>>> can discuss to move the chapter out of the appendices, but, as Karl
>>> also
>>> said, there should be a second chapter.
>> Then we should rename the Objects chapter, perhaps to The Basic Object
>> Catalog.
>>> Greetings,
>>> Rita
>>> P.S. Thanks for the explanation about the logout problem, now it is
>>> solved!
>>> On Oct 7, 2012, at 5:19 PM, Edward Mokurai Cherlin wrote:
>>>> I have completed another pass over the Objects chapter in the Etoys
>>>> Reference Manual,
>>>> http://booki.flossmanuals.net/etoys-reference-manual/_edit/
>>>> dissecting objects into components, documenting the components,
>>>> identifying the Squeak sources for Etoys objects, adding v5 objects,
>>>> explaining bugs and design deficiencies, noting further information
>>>> needed, and finding more topics to explain elsewhere. Review and
>>>> comments welcome. I expect to make another pass again after I work on
>>>> other aspects of Etoys and Squeak for a while.
>>>> There was some confusion about my intention in creating a new chapter
>>>> for the book on Etoys Programming. I hope that my renaming the chapter
>>>> to Etoys Programming Tools will clarify that issue. As I said before,
>>>> and in the little bit I have written in the chapter, it is in no way
>>>> meant to teach how to program in Etoys, only to document how Etoys
>>>> supports software development. Other chapters describe elements of
>>>> this system (UI, scripting tiles, objects) piecemeal. This chapter
>>>> will give an integrated view of the Etoys IDE, including how it gives
>>>> access to Squeak, but will not attempt to explain Squeak programming.
>>>> --
>>>> Edward Mokurai
>>>> (默雷/à ¤¨à ¤¿à ¤¶à ¤¬à ¥à ¤¦à ¤—à ¤°à ¥à ¤œ/نشبدگرج)
>>>> Cherlin
>>>> Silent Thunder is my name, and Children are my nation.
>>>> The Cosmos is my dwelling place, the Truth my destination.
>>>> http://wiki.sugarlabs.org/go/Replacing_Textbooks
>>>> _______________________________________________
>>>> etoys-dev mailing list
>>>> etoys-dev at squeakland.org
>>>> http://lists.squeakland.org/mailman/listinfo/etoys-dev
>>> Rita Freudenberg
>>> rita.freudenberg at ovgu.de
>> --
>> Edward Mokurai (默雷/निशब्दगर्ज/نشبدگرج)
>> Cherlin
>> Silent Thunder is my name, and Children are my nation.
>> The Cosmos is my dwelling place, the Truth my destination.
>> http://wiki.sugarlabs.org/go/Replacing_Textbooks
>> _______________________________________________
>> etoys-dev mailing list
>> etoys-dev at squeakland.org
>> http://lists.squeakland.org/mailman/listinfo/etoys-dev
> Rita Freudenberg
> rita at isg.cs.uni-magdeburg.de

Edward Mokurai (默雷/निशब्दगर्ज/نشبدگرج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.

More information about the etoys-dev mailing list