View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 3 - Elizabeth Solomon

In detail, describe a problem that you experienced in Squeak. What was the problem? Why did it happen? How did you eventually overcome this problem?


One of the most common problems I encountered occured when i ommitted a period at the end of a statement. I figured this out from the DoIT method of the debugger after repeating it a couple of times that two lines were joined together. Meaning i left the period on the previous line.
All the debugging statements looked like this:

DoIt
^ lp := LinkPageWidget new lp openInWorld

instead of
DoIt
^ lp := LinkPageWidget new.
lp openInWorld

Another misconception i had was that images inherited from ImageMorph are morphs hence can be rotated. This was false. It was the form that can be rotated hence had to extract that first and rotate and convert to an image.

I solved these problems by trying to look for similar mistakes on the web and researching on Squeak Swiki and tried to figure out what it is passed. Asking for help from people who have encountered similar problems was also helpful.

rotatedForm
form := Form fromFileNamed: file name.
rotatedForm := form rotateBy: 90.
picture := ImageMorph new image: rotatedForm.


In detail, describe a feature of Squeak that you have found particularly useful. What is the feature? Why is it useful? How do you envoke it?

The Inspect feature is one that i find particularly helpful. This feature allows you to inspect the variables of a class to see if the necessary modifications were made. If they were not made then you will know you made changes to the wrong method. It tells you the values of the variables so you know it is not pointing to null.
You can access the inspect tool by this command(alt-i).

The inspect tool is essentially a query tool and in addition to finding out the values of variables you can just type self and execute it(press do-it) to know if that class implements or understands the method or not. This gives instant feed back on specific methods instead of using the browser to scroll through a lot of methods.

Even though squeak seems different i think it has enhanced my ability to incorporate scalability into the designs i create.


Part II: Read other posts.

1. Discussion 3 - Hai Phan (gtg394v)
This discussion explained how squeak handles string equality. It was interesting to note that Smalltalk handles comparison in a similar manner as Java. I guess this shows how new programs span off other known ones for easy transition and marketability. This will be useful whilst doing this project.


2. Russell Myers' Discussion 3
Russell's explanation of AlignmentMorph was very helpful because it includes actual code examples and brief comments. I have not inspected this class before. I was trying to use Layout classes but it seemed there was very little they did with alignment. I would take advantage of this class to create neat layouts for my future projects.

Links to this Page