Bob Arning | 6 Jan 05:21 2001

Re: ["BUG"][FIX?]Incorrect Pseudo-Codefor#whileTrue:/#whileFalse:?

Hi Mark,

On Fri, 05 Jan 2001 21:45:29 -0600 Mark van Gulik <ghoul6 <at>> wrote:
>On a hunch I tried stepping through this in the debugger.  As I suspected,
>it failed on the *second* call to jumpTo:.

That's not the only problem. The version I sent also fails for larger iteration counts. Below are several
variations that do not suffer that problem. The one I like best from the readability perspective is
#whileTrue4:, although it is not the fastest of the bunch.


-----code follows-----
'From Squeak2.9alpha of 17 July 2000 [latest update: #3231] on 5 January 2001 at 11:15:57 pm'!
"Change Set:		blockJump
Date:			4 January 2001
Author:			Bob Arning

Experimental implementation of #whileTrue: using Mark van Gulik's GOTO trick. 

Several flavors are tried and timings for all are compared.

The result are implementations that does not require compiler optimization and may cause less confusion."!

!ContextPart methodsFor: 'instruction decoding' stamp: 'RAA 1/5/2001 23:04'!
jumpTo: newPC stack: newSP

	self stackp: newSP.	"remove any extra"
	^pc _ newPC! !
(Continue reading)

danielv | 20 Jan 19:17 2001

[ENH] FasterListMorph

Experimental optimization on ListMorphs.
Requires a changeset I posted a while back, called OptimizingList.
Together these (should) make any list morph come up pretty quick. Has
noticable effect on changelists, should help on slower machines.

"Change Set:		FasterListMorph
Date:			20 January 2001
Author:			Daniel Vainsencher

Make PluggableListMorphs for long lists come up fast.

They now create their StringMorphs lazily, delaying the creation until
the list is scrolled over the particular morph."!
Attachment (FasterListMorph.cs.gz): application/octet-stream, 2185 bytes

Jochen F. Rick | 13 Jan 02:40 2001

A Squeak Plug-in Application

For your consideration,

check out
Click on the Swiki mascot.

Peace and Luck!


Lex Spoon | 8 Jan 18:38 2001

Re: VM questions

Marcel Weiher <marcel <at>> wrote:
> Another couple of questions that cropped up while doing the VM and  
> translation work:
> 1.	Polling for events
> Squeak seems to poll quite vigorously for events, undeterred by the  
> fact that nothing is happening. I also see it sucking significantly  
> more CPU in Morphic than in MVC when idle, which doesn't really seem  
> to be the desired behavior for an event-based system.  The CPU usage  
> for idle Morphic is also somewhat bursty.
> Should I simply put it too sleep in the event-getter code if there  
> are no events, or is this a bad idea?  I should mention that the VM  
> is multi-threaded.

Everyone has their opinion on this.  In my view, Morphic *already* goes
to sleep when it's not doing anything, so why bother second-guessing it
in the VM?  You might experiment instead with changing how
interCyclePause: works.  If the Morphic loop can figure out that the VM
really supports input events, then it could try sleeping until either an
event comes in or until a #step method needs to be run.

Before you go too far, however, it's worth trying to figure out where
the CPU usage is actually going.  In particular, you might well be seeing
browser windows refresh themselves.  To test this, try going to a
morphic project that has no SystemWindows and no flaps on the screen,
but which may well have other kinds of morphs.  Does the CPU usage go

(Continue reading)

Jesse Welton | 17 Jan 19:48 2001

Re: MPEGPlugin on Windows?

Lex Spoon wrote:
> Is there a version of the Windows VM around that:
> 	a) can load JMM's Mpeg3Plugin.dll
> 	b) has working <return> key

See the recent discussion, "Return key suddenly stopped working..."
Ned Kons and Helge Horch were able to provide two tiny patches to the
Win32 support code to make the VM work properly with both 2.8 and 2.9


Raab, Andreas | 25 Jan 22:31 2001

RE: Squeak as an NT service

Do you have administrator priviledges on the machine you're running this
on?! Installing a service on NT requires admin rights.

  - Andreas

> -----Original Message-----
> From: Tim Dawes [mailto:tdawes <at>]
> Sent: Thursday, January 25, 2001 1:30 PM
> To: squeak <at>
> Cc: recipient list not shown
> Subject: Squeak as an NT service
> Can anyone provide a tip on running squeak as an NT service?
> I've tried 
> C:\squeak\2.8\squeak.exe -service: "Squeak" 2.7.image
> C:\squeak\2.8\squeak.exe -headless -service: "Squeak" 2.7.image
> And a few other combos.  I always get the error message:
> "Starting the service is failed.
> Error 5:Access is denied."
> Thanks, Tim.

Marcus Denker | 30 Jan 02:08 2001

Re: So where's the 2.8pre5 Unix sources?

On Mon, Jan 29, 2001 at 04:33:37PM -0800, Ned Konz wrote:
> You have diffs against "Ian's Squeak 2.8 pre5" there, but I can't find it, 
> either at
> or at
> Where can I find these sources?



Marcus Denker marcus <at> 

Stephen Pair | 5 Jan 18:22 2001

RE: Headless Comanche Server

You can run VNC on the solaris machine and start squeak in the vnc
session...squeak seems to work well under vnc (at least on Linux)...that's a
quick and dirty was to avoid having to maintain an interactive X session,
yet still be able to access squeak to common maintenance things without
having to restart squeak interactively.

There's also the possibility of running a Nebraska server on the headless
image, and using a Nebraska client for maintenance duties, but there is no
security built into that scheme (that I know of anyway) right now.

Speaking of security, if you go the VNC route, you might also want to look
into wrappering that service with some secure transport mechanism (like

- Stephen

> I'm up and running on Solaris using a vanilla 2.8 image + UnknownLegend
> (Comanche).   What I would like to do is make this a headless image.   The
> FAQ pretty much only talks about NT and MVC projects.
> Anyone have a simple step by step for this?
> -------------------------------------------------------------++
> geoff corey
> systems development
> red sky           >atlanta
> v 678.256.3443
(Continue reading)

Stephan Rudlof | 2 Jan 23:33 2001

Re: ["BUG"][FIX?]Incorrect Pseudo-Codefor#whileTrue:/#whileFalse:?


"Andrew C. Greenberg" wrote:
> I see no virtue in the code as it exists there -- it is semantically
> confusing and perhaps meaningless outside the context of a special
> inlining compiler.  While the code works, it cannot be explained or
> understood without reference to the generated bytecodes -- this is
> not (or perhaps should not be) the Smalltalk way.

What do you think of my suggestion given in an earlier mail in this thread?
Do you see a problem here?



>From VisualWorks® NonCommercial, Release 5i.1 of January 24, 2000:
whileTrue: aBlock 
        "Evaluate the argument, aBlock, as long as the value   
        of the receiver is true."

        ^self value
                        [aBlock value.
(Continue reading)

Mark Guzdial | 25 Jan 22:42 2001

Re: Squeak Books!

At 12:20 AM +0000 1/25/01, Alberto Moravia wrote:
>Does anybody have any list of PUBLISHED (on paper/CDM/other mediums).
>I know Mark has one (or two?).
>But I've heard several other people claiming to be writing books 
>which never came out! So I have lost track of what is available and 
>what is vapourware!

I know that Tansel's book from Cambridge University Press is expected 
out soon, too, perhaps this Spring?


Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280
Associate Professor - Learning Sciences & Technologies.
Collaborative Software Lab -
(404) 894-5618 : Fax (404) 894-0673 : guzdial <at>