Help - Language - TECHNIQUES, TIPS AND TRAPS IN SQUEAK

Here are a few tips roughly sorted by subject.

Projects

Learn to use projects
In Morphic Squeak you work in windows called Projects.
You can save and load Projects into Projects. They have ".pr" extensions.
You make a new Project in a Project by Worldmenu - projects - make new Morphic project.

Images

Many Images
Make many images
You can save under different names and versions

Document images

You can run several images at one time and use one to comment

Several Squeaks

One can open several Squeaks simultaneously (memory permitting).
Copying and pasting between them is unproblematic.

Make backups of starting images that you know are OK.
This way you are sure you can load new stuff in a properly working image (after which you can save it and load it in other images).

Keep fresh images as copies.
See previous remark.

Saving by versions
Check out the possibilities for saving in the Worldmenu.

Think imaginatively
It helps to think of Squeak in terms of images consisting of AN environment made by and maintained THE Squeak Language plus VM.

Squeak

Squeak as SqL + SqE
These are merely convenient abbreviations. Check out the following:
SqL = the Squeak Language
SqL = Smalltalk + Morphic
SqE = Squeak Environment
SqE = squeak.exe + VM + image
The image contains an interpreter that parses and compiles the SqL.
 
Squeak and Smalltalk

Squeak, Morphic and MVC
Squeak
comes in two flavors: Morphic and MVC

Morphic Squeak is Smalltalk-80 + Morphic

MVC is Smalltalk-80.
If you know Smalltalk use the MVC but else learn to use Morphic for it is a richer environment.

Help commandkeys gives the editor keys
From: WorldMenu - help - commandkeys

Document yourself in Workspaces.
You CAN keep track of everything or anything you do. It often DOES help.

Preference Menu
You can set many aspects of SqE by the Preferences Menu.
From: Toolsflap or Windows Menu - appearance - preferences

Setting pictures as background.
There are many ways to work with pictures in Squeak. Suppose you have a directory full of images - gif, jpg, bmp  files - and you want to enliven Squeak with them. Do Cmd-d on the following

FileList2 morphicView openInWorld

This opens a FileList with more facilities than the old standard one. You can use it as expected from Windows Explorer or whatever you are used to. Well, use it to go to the directory with images. The option open will open such an image in your Project, while the option background will make it the background of your present Project. 

Workhabits

Lots of space in an image.
On a somewhat capacious computer you have many megabytes available.

Toolboxes consisting of browsers and help on screen

Windows collapse and expand
From Worldmenu - windows. (This contains more handy choices.)

Use several browsers + workspaces on same methods for viewing and editing

Use links in workspaces to collect and get browsers etc.

Saving workspaces
You can save workspaces on disk by way of the square icon - save contents to file...
Convention: Use ".text" or ".txt" as filetype for files editable by Workspaces.
You can load workspaces from disk by way of a FileList.
From Worldmenu - open - filelist

Copying workspaces etc. by halos
A workspace is a morph and so has halos that allows you to duplicate it in one click.
The same trick holds for any morph.

Touching up workspaces
A Workspace is a SystemWindow which contains a TextMorph.
You can
- color the SystemWindow from its menu (next to 'x').
- click up the halo of the TextMorph by repeated Middle-Clicking, and set the backgroundcolour.
- select text with (all with Cmd-a) and use Cmd-6 to colour it.
- select text with (all with Cmd-a) and use Cmd-k to change its font.
This starts a Workspace of your own:
'example message' openInWorkspaceWithTitle: 'Example Title'

Document your own work in your own words
It helps to write notes to yourself on what you think you learned.
Squeak has excellent facilities to do so.

Tip for working in stages
Make something - if satisfied make copy with upper right halo; improve the copy - if satisfied make copy etc. Thus you will always have the latest best to fall back to if necessary.

Literate programming
If you didn't know about literate programming and are interested in programming:
Do a google on 'literate programming'. Donald Knuth conceived of it and practices it.

Object-talk
Be aware of levels and being misled by terminology:
"Objects" may occur in Squeak and Smalltak

as:...............say: ........................located:
-------------------------------------------------------------------------------------------
imagined....... imagined object........ in one's mind as experience
described.......commented object.....in one's editor as English
coded............coded object............in one's editor as programming code
working..........virtual object............in one's computer, run by executing code
represented... model object.............in some world outside the computer
------------------------------------------------------------------------------------------

Help - Language