Mark Guzdial | 4 Oct 15:59 2000

More Information on Squeak Textbook

I've had several questions about my Squeak textbook, with suggestions 
that I post the answers to the list.

Again, the book is at:

(Currently ranked in sales at 38,828! (With a bullet? :-))

The publisher (which I can't believe Amazon doesn't list!) is 
Prentice-Hall.  My editor is Alan Apt.  Both the Table of Contents 
and Back cover text for the book are WRONG. <sigh> (I've alerted P-H, 
and they're working on it.)

Below is the actual back cover contents and the manuscript table of 
contents (which is changing some -- copyeditors are pretty amazing 
:-).  The cover for the textbook and the edited volume 
( will be the same image, with 
altered color schemes.  Maybe I shouldn't spoil the surprise about 
the cover images -- let's just say that they're wonderful and 
entirely appropriate for Squeak.

Rick Zaccone of Bucknell, Rik Fischer Smoody of Portland State, and 
Cullen O'Neill of U. Michigan all test-drove the book this last year.

Let me know if you have any other questions about it.

Squeak: Object-Oriented Design with Multimedia Applications

Mark Guzdial
(Continue reading)

Jeff Szuhay | 25 Oct 22:35 2000

Re: OOSPLA photos

>It would be interesting to know some faces, though. It would be a lot
>effort for one person, but fortunately we have a Swiki. Just start adding
>captions to . Please :)

Wow! That's excellent.

Thank you(s), 
Bert and Ian

   Jeff Szuhay              A randomly-directed 
   Oakmont, Penna.          chaotical wetware pattern 
   jeff <at>          recognizer/generator.	

   I wanted to change the world.  
   But I have found that the only thing one 
   can be sure of changing is oneself. 
     -- Aldous Leonard Huxley, 
        British writer (1894-1963)

montgomery f. tidwell | 29 Oct 19:30 2000

FFI problems


i'm having problems getting the FFI to work (on LinuxPPC).

i've followed the directions on the list about configuring FFI
as an external module. however, when i try to do "X11Display x11Draw"
i get an error window that says "Callout mechanism not available" and
in the ETerm window that i started Squeak i got this message:

cannot open shared object file: No such file or directory
cannot open shared object file: No such file or directory

i checked and is in the path mentioned above. what am
i missing??



Tim Rowledge | 5 Oct 22:34 2000

Re: ARM based Squeak, OSKit, EPOC

> Anyways, If you want any assistance with the EPOC port, I may be able to offer
> some time.
I think that both Ed & I could do with some of that. Please send
suitable packages of sparetime, preferably by Fedex.
Seriously, if you have any time to help it would be welcome. Once the
scope of the changes needed to the interp.c etc code is established I
can reasonably quickly change the CCodeGenerator to produce that. Then
all we need is to understand how to get pixels to the screen and input
from the whatevers. Trivial :-)



Tim Rowledge, tim <at>,
Bad style destroys an otherwise superb program.

Martin McClure | 9 Oct 16:39 2000

[BUG] Fraction>>asFloat returns infinity if numerator and denominator both very large

I ran into this surprising result last night:

   aFraction rounded

returned a reasonable value (318, IIRC) but

   aFraction asFloat

returned Infinity.

I dug a bit and found that the cause is that both the denominator and 
numerator were very large.

A test case:

   ((10 raisedToInteger: 309) + 1 / (10 raisedToInteger: 309)) rounded

returns 1, which seems correct, but

   ((10 raisedToInteger: 309) + 1 / (10 raisedToInteger: 309)) asFloat

returns Infinity, which does not seem correct. I expect to get 
exactly 1.0 in this case, since that is the Float value that most 
closely approximates the Fraction's value.

Fraction>>asFloat reads:

	"Answer a Float that represents the same value as does the receiver."

(Continue reading)

Joshua Channing Gargus | 16 Oct 04:50 2000

Disregard half-baked question


I must be tired, the difference between doIfNotNil: and ifNotNil:
is very clear if you read the code.


Bruce ONeel | 10 Oct 21:09 2000

Re: 3 new mac VMs + pending Mac VM...

  A G3 (aka 750) and a 603 are really very close to each other so a
special G3 optimization wouldn't likely help.  I don't know if a special
G4 optimization would help.  I don't have a good feel for what
altavec would do for squeak.



Aaron J Reichow <reic0024 <at>> wrote:
> On Mon, 9 Oct 2000, John M McIntosh wrote:
> > >Are these VMs optimized at all?  Does CodeWarrior (or MPW?) allows for any
> > >general optimization (ala gcc -On) or specific G3 or G4 (AltiVec)
> > >optimization?
> > 
> > Yes these VM's are optimized for 603 CPUs. I'll consider looking at 
> > the 750 optimization for the next version, but remember lots of 
> > schools have 604 or less machines, goodness even rows of SE/30's. So 
> > some more testing is required to decide which is the best Code 
> > Warrior optimization level *and* target CPU for the general class of 
> > machines that Squeak runs on, testing in Aug showed that some obvious 
> > choices did NOT produce the best results.
> I understand that not everyone has a G3 or G4- but is there any way to
> release another build, perhaps optimized for G3 or G4?  It would be
> especially useful for us with G4 if CodeWarrior does any automagic AltiVec
> optimization.
(Continue reading)

Ned Konz | 23 Oct 00:03 2000

Re: Integrating Smalltalk with Major Web Servers using FastCGI

Peter William Lount wrote:
> Hi,
> Remember that when using FastCGI the Smalltalk "application server" is a
> seperate process from the web servers processes. The ModFastCGI module
> component that is already written in C and embedded in the WebServers would
> responds to the signals you mentioned (see below). If you need to have
> those signals get to the FastCGI client there is an 'error' provision in
> the fast cgi protocol. Please see the FastCGI specification and other
> papers linked to at

Oh. I was just looking at the following quote from , which gave me the impression that
we'd have to deal with USR1 and TERM to cope with mod_fastcgi.

How should I handle signals?

All FastCGI applications should handle PIPE and TERM , mod_fastcgi spawned
applications should also handle USR1.

PIPE occurs when trying to write/print to a file descriptor that has been
closed.  Under mod_fastcgi, if a client aborts a connection before it completes
does too.  At a minimum, SIGPIPE should be ignored (this is already setup in
applications spawned by mod_fastcgi).  Ideally, it should result in an early
abort of the
request handling within your application and a return to the top of the FastCGI
accept() loop.
(Continue reading)

Tim Rowledge | 6 Oct 21:05 2000

RE: slow FreeCell (was: Re: Morphic slow in 2.8 (was: Forecast))

On my creakingly ancient 200MHz Acorn I get:-
> Display		#forceToScreen	BitBlt	Balloon
> 1024x768x16 	7940			5520		39590

> 1024x768x32 	27770			10830		22400

I really ought to get around to making the forceToScreen related prims
work properly...


Tim Rowledge, tim <at>,
Programming Department:  Mistakes made while you wait.

rhian.lewis | 11 Oct 14:45 2000

simulations goldberg/robson

Thomas Jordan recently asked.

> > Has anyone done some work ion implementing the ST-80 "Framework for
> > Simulations" in Squeak??
> > I know there are some rudiments in the frame of system processes. However
> > these are very poor compared to those classes in the blue book.
> > Any hint is appreciated.

I typed in all the exercises from Goldberg/Robson SmallTalk-80
chapters 22 - 25, ie including all the statistics classes, Simulation,
Simulation object, resource providers etc.  etc, etc. so if anyone wants
these changes sets they're more than welcome.