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

Questions and Discussions

Ask your questions and post your comments here on:
The Newsgroups found at


I was just wondering about the way all the question milestone pages were handled...would it be a better idea to cascade the sheets? In other words, make it act more like a newsgroup forum, with a main group of threads and them answers to all those threads on a separate page for each? While it might be a lot more pages to check, if you don't have a question about that main thread, you don't have go to sift through all the other shtuff and bad formatting and all. ;-)

Just a thought I had when I woke up and read the Swiki. Also, I noted a problem with Squeak 3 and my wireless network card. When the WNIC was plugged in and I loaded the Squeak image, Windows XP Pro BSoDed (crashed, for all those Macintosh fans out there). The card is a Linksys WPC11. It's really not that big a deal anymore since I figured out what was causing it, but since it is a bug, figured I might as well post it. Thanks! Chris Verges

I've found a weird bug. I subclassed WonderlandActor for one of my classes, but when I try to save (accept) methods for the class my comments dissappear, the variables are all renamed to t1, t2, t3, etc..., and the method is formatted ala 'PrettyPrint', which in my mind is butt-ugly. This only seems to happen if I subclass WonderlandActor, because none of my other classes old or new change their code when I save them. I tried it on multiple fresh images but the same thing occured.

it sounds like you have a messed up or missing .changes file. I've found that pretty-print chooses to remove comments on accepts sometimes - I suppose this is a bug? Its darn annoying at least. Hopefully you can turn it off in Preferences. Easiest way is to grab it from the tools flab and search for 'pretty'.

Certainly not. If it was a .changes file thing then the problem would occur for all classes. But this occurs ONLY for WonderlandActor, and in different fresh images/change files.
No, that's not true. Classes defined in .sources would still be fine. Only classes changed since .sources would be decompiled if .changes were lost. Mark Guzdial

On a similar note, why does Wonderland need to keep track of the classes for all its actors? And why would it delete my actor child class after I load it into the actorClassList? Why can't you use actors as just objects in the 3D world?

Each of the Wonderland actors is a prototype, which is implemented as a singleton class (a class with only one instance). Wonderland needs to keep track of these when you define new behaviors on an Actor. The rest I don't understand. Mark Guzdial

I was playing with AlignmentMorph and was following some examples on page 160 of the textbook. The following is a snippet of the codes in the textbook:

filler := AlignmentMorph new.
filler centering: #bottomRight.

When I try to run the codes, it will tell me that AlignmentMorph does not understand centering:. Neither does it understand orientation:. Could someone tell me what I did wrong. Jonathan Broomfield
I talked about this in class, Jonathan. The centering options changed in Squeak 3.0. Your choices are to go back to Squeak 2.7 or 2.8 and test there, or read the notes at which explain how they changed. Mark Guzdial

I was trying to find a TA for help in the CoC commons, and realize that I cannot recognize any of them. TAs should either include a photo of themselves in their coweb homepage, or include a link to their other homepages so that we know how they look like. Take a look at Sami Deen's coweb homepage if you have no clue what I am talking about. If you are really so secretive about it, the least you can do is to write your name in front of the TA's lab, and write something like "CS2340 TA" at where you are sitting.

On page 144 of the textbook, it contains the following code on the top part of the page:

model: aModel
model := aModel.
aModel addDependent: self.

Shouldn't it be "model addDependent: self." instead of "aModel addDependent: self." ?
Please help.
Jonathan Broomfield
.Either one works, Jonathan. model and aModel are the same thing right there. Mark Guzdial.

I was revising on the collections methods (heehee... for the quiz tomorrow) and somehow could not understand how to use the add:, addAll: , remove: , removeAll methods. Could someone enlighten me on how to use it, perhaps with an example or two for them. I did try to read the textbook, check webpages etc. Jonathan Broomfield
Not very complicated, have you browsed these methods, there isn't any really nasty code there? Webb ->
yo:=OrderedCollection with: 'aba' with: 'cab'.
yo add: 'abba'.
fo:=OrderedCollection with: 96 with: 48.
yo addAll: fo.
yo remove: 96.
yo removeAll: (OrderedCollection with: 'aba' with: 'cab' with: 48 with: 'abba').
yo size.
"see for yourself the class hierarchy of OrderedCollection - does this work differently from Bags or Arrays?"

Can anyone share good/bad experiences running Squeak on Mac osX? I see there are carbonized versions, and a cocoa version ( Any problems with the cocoa version? Also, are the PC versions better? thanks.
I don't know anything about the PC versions, but I'm enjoying Carbon Squeak. Cocoa Squeak still doesn't handle things like sound input. Carbon Squeak is lovely. Mark Guzdial

Ok so I was playing with squeak and I made my own class WordMacther and then I made a method called new and had it define the variables that were in WordMatcher...but when I made a new WordMatcher and then ran new and then tried to inspect it Squeak crashed! Why did this happen? and how do you go about rewriting new so that when your new class is made with a delcaraion such as nameMatcher:=WordMatcher new. you actually use your new and not that of object?
First, don't change the title of the Questions and Discussions page! Second, ask questions about assignments on assignment pages, e.g. Questions on Fall2001 P1 Milestone Please, sign your messages. We'll explain "new" tomorrow (Tuesday). You need to give me some idea of what "Squeak crashed" means. Did you get an error notifier? What was the error? Mark Guzdial
Is there any way to easily find the matching pair of a bracket in Squeak, or a parenthesis for that matter? I finally tracked my error down, but I would like to find out for the future how to do it more quickly. Alan Ferguson
Double-click inside the left bracket/paren/double-quote/single-quote. It will highlight all the way to its match. There are actually a bunch of useful editing techniques like this document in the Command-Key Help (under the Help menu). For example, while there's not drag-and-drop, there's command (Alt)-e. Click somewhere where you want some text to go. Now select the text you want to go there. Alt-e. The current selection goes to the last selection. Mark Guzdial

I'm using the 3.2a-4646 image and V3 sources file, and the message [ProtoObject ifNil:ifNotNil:] is the same as [ProtoObject ifNotNil:], comment and all. The ifNil condition is never considered. I was going to use [ifNil:ifNotNil:] for lazy initialization but I'll find a working alternative for the sake of staying standard with TA's and teammates. I guess I can use a semicolon.
By the way, I'm using OS X, and I assume my VM is cocoa since it is a .app. It runs very slowly, at least in morphic, but I haven't had any stability or feature problems yet. Philip Graham
CocoaSqueak is named CocoaSqueak, and it's not on the Squeak FTP servers yet, I don't think. What's there is Carbon. You should get the latest VM's – I really like them. Fast, can print from them (!), and really robust. But to your question: WHY are you playing with ProtoObjects?!? You should never have to play at that level, at least for this project. Checking for nil IS safe for lazy initialization...but don't do lazy initialization :-) Mark Guzdial

I have read and followed ALL the google list of tutorials for "morphic tutorial for Squeak". None of the tutorials showed me how I could implement preexisting morphs into my program. What is the intuitive process that everyone (except me) has realized?

To make sure I'm saying what I mean to say, here's a brief description and problem explanation.

Here's the problem. I can't figure out how to make this moving star an object so that I can create instances of it that I can use in a program. I've read 11 "morphic tutorial for Squeak" tutorials ALL THE WAY THROUGH and none have told me how to do this.
There are a lot of tutorials that are at, but when I click on the links I get a "page can not be displayed message." Did these pages move? How do I get to them?

How do you get out of an infinite loop?

Link to this Page