My Squeak Journal


5 August 07

I started 2 good tutorials, one on Monticello and this one on building an application. I don't have the time to finish them right now.

Squeak NOS is alive again. I downloaded an ISO image and will try to get it to work.

 

13 May 07

Need to expolre this link --> http://languagegame.org:8080/ggame/15

WikiNode

 

9 March 07

 

Squeak flaps

 

Seaside - web programming with Smalltalk.


Learning Smalltalk: You have a maze; you enter to recover something. Most first-person-shooters such as Doom are this kind of setup. Smalltalk is a maze, and so I'm relating it to things I already know. The umber hulks are here. The mind flares are here. And the pit traps are here.

Egyptian history. Tefnut was one of the original three gods. She was the goddess of moisture. The server is called Seaside.

the Hyksos. They did cross the Sinai desert bringing newfangled inventions such as the chariot and the compound bow. It's hard to imagine Egypt without the chariot, but once there were none. Object oriented languages are coming to the browser as Tim O'Reilly has suggested with his marketing label Web 2.0. So that means new languages are putting up their hand to get the teacher's attention.


But .... There is no page! Did you see the Matrix? Working with Smalltalk often produces a feeling where you're Keanu Reeves talking to the bald kid in the kitchen, who says: "There is no spoon!"

If you get angry learning this stuff - and I'm not kidding... I know a Ruby On Rails guy, who says he gets aggressive just thinking of his experience with the Squeak virtual machine - just say: "There is no spoon! There is no spoon!"


The point is that many people learn computer languages on their own. They see themselves as heroes going through the rugged territory alone. At some point that's like learning Karate from a book - you're going to need to talk to other people who know more, or at least connect with others trying to learn. I think that part of the reason that people, get so angry is that they don't understand how much of a head shift is involved in learning Smalltalk. They think they are smart; they know a lot, and then they are getting pinned to the mat. It humiliates them. It's easier to learn Smalltalk and Squeak by watching somebody else muck with it. You may have to leave your basement and talk to a human.


I have an earlier blog entry where I mention a number of steps. It seems I was making things too complicated. What is needed is to install the Komanche server into a version of Squeak, and... well that seems to be it. Komanche is named as a sort of joke on the Apache server. It's a set of classes that can be installed into Squeak, and away you go. I had thought that the FastCGI module had to be installed into Apache, and then that communicated with Squeak. Fast CGI doesn't seem to be necessary. For some reason, perhaps because you can create a proxy server, it is preferred to use Apache, but to make the system work all you need is Squeak with Komanche


Tate said that Smalltalk was too alien a language to catch on. I think that's an odd thing to say about any language. Is the language alien or is it poorly taught? If somebody goes to high school they will discover extremely alien topics such as French, algebra, Shakespeare and music notation. None of this stuff is easy, normal, or intuitive until you have a grounding in some fundamental concepts for each. These are alien topics, but they can be found in almost any high school. They become less alien to students for two reasons: teachers and fellow students.

But that's not how most computer science students learn their languages. Even if a programmer or hacker goes to university to study a language such as Java, the next language they discover will be one they teach themselves. It is more the norm than the exception that computer science enthusiasts learn alone. It's as though they are mad scientists in their castle towers working to bring Frankenstein to life. Occasionally on a balmy summer night in the city with your window open, you can hear a lone programmer in the middle of the night yelp involuntarily "It works!" or "It's alive! It's ALIVE!"


But even though a teacher is not present to teach Smalltalk, there can be a way of making this language more approachable to the solo learner. But Smalltalk could be more accessible if there were a learning model that spoon fed the process with simple tasks. Perl may do this by the way the language is structured, but Smalltalk could do it by design. It could have a pedagogic model, which allows students to follow a course of ... not study, but a course of play that allows them to feel accomplishment quickly. The dark side of Perl is when you reach the intermediate and advanced levels of programming the language can become a thicket. This never happens with Smalltalk. It only gets easier.


There seems to be a dichotomy in using Smalltalk: it's super productive; but it has a nasty learning curve. The second part doesn't concern me much. It's a selling point. How can I make Smalltalk easier to learn? How can anybody follow a process that is fairly easy, so they can teach themselves? That's the question. And there are people who try to solve this: authors.

 

One book I will recommend to start with is "The Art and Science of Smalltalk" by Simon Lewis. It assumes you know nothing about either Smalltalk or object oriented programming. It explains one and then the other in a conversational style. It's friendly, and of any book on this page I recommend this one.


So, Smalltalk is a highly productive language with an unpleasant learning curve at the beginning. Almost nobody will learn Smalltalk in a class, which makes a good book important. All Smalltalk books assume you already know a language. What would happen if someone wrote a Smalltalk book for beginners? How would they do that?

 


 

6 March 07

This is a terse guide to Squeak.

 

1 March 07

Here is a tutorial in Spanish on making a Christmas card

Here is a list of tutorials including a free version of Dolphin smalltalk.

 

24 Feb 07

Check out this site

 

20 Feb 07

Some notes I wrote while making a gardening project:

Make a rectangle.

Use color picker to make brown.

Use blue halo to turn it 180 degrees so it grows upwards.

Rectangles length property (under Geometry) will make the growing bed rise.

Draw a shovel.

Draw a clump of dirt.

Draw several small pieces of dirt falling.

The script runs too fast to see the dirt moving. Maybe try looping thru a holder container.

So I created a Holder and added the clump of dirt and falling dirt sketches to it.

Then I did the "dirt look like Hoder's playerAtCursor" instruction, along with "Holder's cursor increase by 1".

I put these inside a script for the shovel. I pulled out a test tile to test for "Shovel's isOverColor ..." (I used the eye dropper to select the color of the dirt). Then I put the other 2 instructions under the yes branch, along with increasing the Rectangle's length by 5 for each tick. Then I turned on ticking for this script. Now when I move the shovel over the garden, the digging animation starts.

(I need to go into more detail on the above, especially animation in the holder and which viewer and category to pull tiles out of - it can get confusing)

I created a Reset button to hide the dirt clump and bring back the height of the garden bed.

 

19 Feb 07

Dowloaded the latest OLPC Squeak image today. It has a new tile: Repeat Times Do under the miscellaneous category. This is great because we can now repeat a loop, a set number of times. I tried it out and it works good.

To get more menus on object make sure the Etoy Friendly box is not checked, under Preferences > Scripting. Get World menu by pressing Shift-Alt-W . Use search feature in Preferences to find things. Mouse over checkbox (not text) to get description of what it does.

 

2 Feb 07

Continued work on gardening eToy, animating digging of bed. Need to figure out how to move sketch objects between projects. I fired up Tweak last nite under Squeak 3.8 and played with the objects.

I just noticed that when a wikik "cell" is on a line by itself, it turns gray. If there is other text on the line after it, it stays white.

 

1 Feb 07

Try to leverage material from old Logo books toward eToys. By default you can't type commands into a window - so we have to use tiles. Start by drawing an object, open a viewer on it, pull out certain tiles (fwd, right, pen up, pen down) onto the World and play with them by clicking ! Introduce looping later by putting tiles into scripts.

 

Make a etoy book demonstrating the use of mind maps using connectors. Use it for studying subjects. Problem of limited screen size; have some connectors link to other pages in the book.

 

29 Jan 07 Started making a gardening active essay / eToy for OLPC. I am using the Squeakland image because it has more authoring features, which I think are turned off in the OLPC image. I will then use the OLPC image to test my project. I am making a tutorial flap within the project so users can see how I made the active essay.

 

12 July 06 I need to add some Squeak screenshots to this wiki, so readers unfamiliar with Squeak can see what I'm talking about.

 

10 July 06 Moved some text from Squeakland archive into this wiki as individual pages.

Squeak People

Maartens notes

Logo examples which may be able to be converted to Squeak

 

4 July 06 Investigate using Monticello to store changes to my image. Pier wiki is really cool; it is the next generation of Swiki.

 

26 Dec 05 Squeak Swiki - username is squeak , password is viewpoints

This is a good explanation of Squeak SU testing. This is the start of a self study course in Squeak. Maybe I can help/add to this.

 

27 Dec 05 HTTLCS Outline

Read this too.