GUI development tip: Throttle CPU clock

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

GUI development tip: Throttle CPU clock

Andre Schnoor
Working on a 3Ghz machine, I always had problems with GUI development,
because everything happened so fast, I couldn't see the individual
widgets and canvases (re)display in order to track down inefficient and
multiple redraws, updates etc.

I just discovered a CPU throttling utility (RightMark) a few minutes ago
and it perfectly downgrades my PC to run at 600MHz clock (actually the
performance feels even much slower). Now I can watch all the widgets
being drawn in slow motion and won't miss a single refresh/update
anymore (very much like on the current Mac VM ;-)

I remember a quote saying "Give your developers slow machines in order
to get high quality applications". I just thought that might be of
interest for you all.

Andre

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Mike Hales
Does anybody know of any software to throttle the network speed?  I  
would like to test some distributed computing code at more WAN like  
speeds without having to actually test over the internet.

Mike


On Jan 13, 2007, at 6:29 AM, Andre Schnoor wrote:

> Working on a 3Ghz machine, I always had problems with GUI  
> development, because everything happened so fast, I couldn't see  
> the individual widgets and canvases (re)display in order to track  
> down inefficient and multiple redraws, updates etc.
>
> I just discovered a CPU throttling utility (RightMark) a few  
> minutes ago and it perfectly downgrades my PC to run at 600MHz  
> clock (actually the performance feels even much slower). Now I can  
> watch all the widgets being drawn in slow motion and won't miss a  
> single refresh/update anymore (very much like on the current Mac  
> VM ;-)
>
> I remember a quote saying "Give your developers slow machines in  
> order to get high quality applications". I just thought that might  
> be of interest for you all.
>
> Andre
>

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Joseph Bacanskas-4
Hi Mike:

That's easy, just start up iTunes and stream some audio or video  
*over the net*.  ;-)

On Jan 13, 2007, at 5:28 AM, Mike Hales wrote:

> Does anybody know of any software to throttle the network speed?  I  
> would like to test some distributed computing code at more WAN like  
> speeds without having to actually test over the internet.
>
> Mike
>
>
> On Jan 13, 2007, at 6:29 AM, Andre Schnoor wrote:
>
>> Working on a 3Ghz machine, I always had problems with GUI  
>> development, because everything happened so fast, I couldn't see  
>> the individual widgets and canvases (re)display in order to track  
>> down inefficient and multiple redraws, updates etc.
>>
>> I just discovered a CPU throttling utility (RightMark) a few  
>> minutes ago and it perfectly downgrades my PC to run at 600MHz  
>> clock (actually the performance feels even much slower). Now I can  
>> watch all the widgets being drawn in slow motion and won't miss a  
>> single refresh/update anymore (very much like on the current Mac  
>> VM ;-)
>>
>> I remember a quote saying "Give your developers slow machines in  
>> order to get high quality applications". I just thought that might  
>> be of interest for you all.
>>
>> Andre
>>
>

Thanks!!
Joseph Bacanskas [|]
--- I use Smalltalk.  My amp goes to eleven.

Reply | Threaded
Open this post in threaded view
|

RE: GUI development tip: Throttle CPU clock

Steven Kelly
In reply to this post by Andre Schnoor
VMWare has this functionality: you can set the bandwidth and packet loss
between two or more VMs running as a team on the same virtual LAN
segment.
http://www.vmware.com/support/ws5/doc/releasenotes_ws5.html (first para)

You can't set latency with VMWare, which is a shame. Anyone know of an
cheap and easy way to increase latency? (/me waits to be deluged with
humour...)

Steve

> -----Original Message-----
> From: Mike Hales [mailto:[hidden email]]
> Sent: 13 January 2007 15:29
> To: vwnc-list
> Subject: Re: GUI development tip: Throttle CPU clock
>
> Does anybody know of any software to throttle the network speed?  I
> would like to test some distributed computing code at more WAN like
> speeds without having to actually test over the internet.
>
> Mike
>
>
> On Jan 13, 2007, at 6:29 AM, Andre Schnoor wrote:
>
> > Working on a 3Ghz machine, I always had problems with GUI
> > development, because everything happened so fast, I couldn't see
> > the individual widgets and canvases (re)display in order to track
> > down inefficient and multiple redraws, updates etc.
> >
> > I just discovered a CPU throttling utility (RightMark) a few
> > minutes ago and it perfectly downgrades my PC to run at 600MHz
> > clock (actually the performance feels even much slower). Now I can
> > watch all the widgets being drawn in slow motion and won't miss a
> > single refresh/update anymore (very much like on the current Mac
> > VM ;-)
> >
> > I remember a quote saying "Give your developers slow machines in
> > order to get high quality applications". I just thought that might
> > be of interest for you all.
> >
> > Andre
> >

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Martin McClure
Steven Kelly wrote:
> VMWare has this functionality: you can set the bandwidth and packet loss
> between two or more VMs running as a team on the same virtual LAN
> segment.
> http://www.vmware.com/support/ws5/doc/releasenotes_ws5.html (first para)
>
> You can't set latency with VMWare, which is a shame. Anyone know of an
> cheap and easy way to increase latency? (/me waits to be deluged with
> humour...)
>

We've looked at setting up a network simulator for this kind of thing,
but haven't done so. I believe that there are commercial systems
available, but we were looking at open source.

I can't recall which open-source network simulator software we were
looking at, but the hardware would be an old slow PC running modern
Linux. The hardware can be old and slow because we don't need this
machine to simulate a fast, reliable network (we have one of those) but
to simulate a slow network that drops packets, delays packets, and
delivers packets out of order.

We're still hoping to set this up at some point, so if you do something
like this I'd be interested in your experience.

Regards,

-Martin

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Mike Hales
I thought of a way that might be pretty easy to set up, but I haven't  
tried it yet.  With SSH you can set it up to forward ports remotely  
and locally.  You could just set up a number of them that forward  
back and forth, as many as it takes to increase the latency.  For  
example I could have my client connect to port 8080 on the server,  
which forwards to 8081 on the client which forwards to 8081 on the  
server which has the app listening.  You could then increase the  
number of forwarders as needed.  Do this on an old box on an old hub  
and you could probably simulate a latent connection pretty well.  It  
could be done with just SSH and a simple script to set it up.  I'll  
give it a try and post back sometime.

Mike

On Jan 15, 2007, at 2:43 PM, Martin McClure wrote:

> Steven Kelly wrote:
>> VMWare has this functionality: you can set the bandwidth and  
>> packet loss
>> between two or more VMs running as a team on the same virtual LAN
>> segment. http://www.vmware.com/support/ws5/doc/ 
>> releasenotes_ws5.html (first para)
>> You can't set latency with VMWare, which is a shame. Anyone know  
>> of an
>> cheap and easy way to increase latency? (/me waits to be deluged with
>> humour...)
>
> We've looked at setting up a network simulator for this kind of  
> thing, but haven't done so. I believe that there are commercial  
> systems available, but we were looking at open source.
>
> I can't recall which open-source network simulator software we were  
> looking at, but the hardware would be an old slow PC running modern  
> Linux. The hardware can be old and slow because we don't need this  
> machine to simulate a fast, reliable network (we have one of those)  
> but to simulate a slow network that drops packets, delays packets,  
> and delivers packets out of order.
>
> We're still hoping to set this up at some point, so if you do  
> something like this I'd be interested in your experience.
>
> Regards,
>
> -Martin
>

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

kobetic
In reply to this post by Martin McClure
I don't know much about it, but I noticed a lot of new support for VLANs (virtual LANs) in Linux. I assume they became more interesting with the new HW virtualization wave coming. I wonder if those won't let you tune things like that.

Martin McClure wrote:

> Steven Kelly wrote:
>> VMWare has this functionality: you can set the bandwidth and packet loss
>> between two or more VMs running as a team on the same virtual LAN
>> segment. http://www.vmware.com/support/ws5/doc/releasenotes_ws5.html 
>> (first para)
>>
>> You can't set latency with VMWare, which is a shame. Anyone know of an
>> cheap and easy way to increase latency? (/me waits to be deluged with
>> humour...)
>>
>
> We've looked at setting up a network simulator for this kind of thing,
> but haven't done so. I believe that there are commercial systems
> available, but we were looking at open source.
>
> I can't recall which open-source network simulator software we were
> looking at, but the hardware would be an old slow PC running modern
> Linux. The hardware can be old and slow because we don't need this
> machine to simulate a fast, reliable network (we have one of those) but
> to simulate a slow network that drops packets, delays packets, and
> delivers packets out of order.
>
> We're still hoping to set this up at some point, so if you do something
> like this I'd be interested in your experience.
>
> Regards,
>
> -Martin
>
>

Reply | Threaded
Open this post in threaded view
|

More information from stack?

Carl Gundel
In reply to this post by Mike Hales
It would be very helpful to me if when I print out a stack from a
methodContext into my debugging log that I could also get printStrings for
each of the parameters passed for each level of the stack, and perhaps even
a list of ivars and temps for the top level receiver.  Is there something
built-in that I'm not finding, or perhaps someone has written some code to
do this?

Thanks!

-Carl Gundel, author of Liberty BASIC
http://www.libertybasic.com



Reply | Threaded
Open this post in threaded view
|

RE: More information from stack?

Mark Plas
Hi Carl,

You can use the RuntimeImageDumper from the RuntimePackager parcel. This
one supplies a lot of information about the stack, currently opened
windows, open database cursors, other processes etc.

-----Original Message-----
From: Carl Gundel [mailto:[hidden email]]
Sent: dinsdag 16 januari 2007 1:01
To: vwnc-list
Subject: More information from stack?

It would be very helpful to me if when I print out a stack from a
methodContext into my debugging log that I could also get printStrings
for
each of the parameters passed for each level of the stack, and perhaps
even
a list of ivars and temps for the top level receiver.  Is there
something
built-in that I'm not finding, or perhaps someone has written some code
to
do this?

Thanks!

-Carl Gundel, author of Liberty BASIC
http://www.libertybasic.com



Reply | Threaded
Open this post in threaded view
|

RE: GUI development tip: Throttle CPU clock

Steven Kelly
In reply to this post by Andre Schnoor
Thanks for the suggestions!

Just as a side note, the quickest way I know at present is to use a
cable modem connection (longer ping times than ADSL) and/or a VPN (adds
significant latency). Not particularly configurable, but works in a
pinch.

Steve

> -----Original Message-----
> From: Martin Kobetic [mailto:[hidden email]]
> Sent: 15 January 2007 23:12
> To: Martin McClure
> Cc: vwnc-list
> Subject: Re: GUI development tip: Throttle CPU clock
>
> I don't know much about it, but I noticed a lot of new support for
VLANs
> (virtual LANs) in Linux. I assume they became more interesting with
the
> new HW virtualization wave coming. I wonder if those won't let you
tune
> things like that.

> -----Original Message-----
> From: Mike Hales [mailto:[hidden email]]
> Sent: 15 January 2007 22:46
> To: vwnc-list
> Subject: Re: GUI development tip: Throttle CPU clock
>
> I thought of a way that might be pretty easy to set up, but I haven't
> tried it yet.  With SSH you can set it up to forward ports remotely
> and locally.  You could just set up a number of them that forward
> back and forth, as many as it takes to increase the latency.  For
> example I could have my client connect to port 8080 on the server,
> which forwards to 8081 on the client which forwards to 8081 on the
> server which has the app listening.  You could then increase the
> number of forwarders as needed.  Do this on an old box on an old hub
> and you could probably simulate a latent connection pretty well.  It
> could be done with just SSH and a simple script to set it up.  I'll
> give it a try and post back sometime.
>
> Martin McClure wrote:
> > Steven Kelly wrote:
> >> VMWare has this functionality: you can set the bandwidth and packet
> loss
> >> between two or more VMs running as a team on the same virtual LAN
> >> segment.
http://www.vmware.com/support/ws5/doc/releasenotes_ws5.html
> >> (first para)
> >>
> >> You can't set latency with VMWare, which is a shame. Anyone know of
an
> >> cheap and easy way to increase latency? (/me waits to be deluged
with
> >> humour...)
> >>
> >
> > We've looked at setting up a network simulator for this kind of
thing,
> > but haven't done so. I believe that there are commercial systems
> > available, but we were looking at open source.
> >
> > I can't recall which open-source network simulator software we were
> > looking at, but the hardware would be an old slow PC running modern
> > Linux. The hardware can be old and slow because we don't need this
> > machine to simulate a fast, reliable network (we have one of those)
but
> > to simulate a slow network that drops packets, delays packets, and
> > delivers packets out of order.
> >
> > We're still hoping to set this up at some point, so if you do
something
> > like this I'd be interested in your experience.
> >
> > Regards,
> >
> > -Martin
> >
> >

Reply | Threaded
Open this post in threaded view
|

Re: More information from stack?

Runar Jordahl
In reply to this post by Carl Gundel
Load parcel RuntimePackager and execute the code below. It provides
the basis for testing how error logs are written to disk.

[1/0] on: Error do: [:anException |
        (RuntimePackager.RuntimeImageDumper )
                dumpSystemImage: anException
                context: thisContext
                on: 'debugerror.log' asFilename]

Using the code you can look at how
RuntimePackager.RuntimeDumperFramework>>dumpStack: behaves. It
traverses stackTop and prints each frame. As far as I can see, the
printString for the parameters is in fact displayed. Are you looking
for the displayString instead?

Now, if you want to modify the way the error log is created, you can
read this blog post:
http://www.cincomsmalltalk.com/userblogs/runarj/blogView?showComments=true&entry=3273488370

My guess is that if you want to change the way each frame is displayed
in the log (without modifying existing VW code), you need to override
(the long method) dumpStack: in your own subclass of
RuntimeImageDumper.

Runar Jordahl

Reply | Threaded
Open this post in threaded view
|

Re: More information from stack?

Janko Mivšek
In reply to this post by Carl Gundel
Hi Carl,

To get a stack report out of exceptions you can use this:

   DebuggerService shortStackFor: anException initialContext ofSize: 30

I'm using this for composing a web page with error report on Aida/Web
app server and it seems that you need a very similar solution.

Best regards
Janko

Carl Gundel wrote:

> It would be very helpful to me if when I print out a stack from a
> methodContext into my debugging log that I could also get printStrings
> for each of the parameters passed for each level of the stack, and
> perhaps even a list of ivars and temps for the top level receiver.  Is
> there something built-in that I'm not finding, or perhaps someone has
> written some code to do this?
>
> Thanks!
>
> -Carl Gundel, author of Liberty BASIC
> http://www.libertybasic.com

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Runar Jordahl
In reply to this post by Steven Kelly
I have not tested this tool, but it should the job at around USD 1600!
Is that cheap enough? ;-|

"NetDisturb - Impairment Emulator for IP Networks with loss, delay and
jitter functions" http://www.omnicor.com/netest.htm

> You can't set latency with VMWare, which is a shame. Anyone know of an
> cheap and easy way to increase latency?

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Mark Pirogovsky-3
In reply to this post by Steven Kelly
Steven I disagree,
My Cable connection gives me throughput, and responsiveness I never seen
in any corporate settings.

However,
Here is and Idea for poor man network simulator - at cost of about $150
  as well.
Buy inexpensive wireless router such as Dlink DI524 - around $30, and
two  wifi network cards (DWL-G510) which would support WPA $40 each.

Now you have a perfect setup of unreliable network.  Just move you
router behind some office door ( they are usually metal and grounded)
and monitor the link quality and signal strength on your network interfaces.

you can monitor and modify the total bandwidth of the router

Enable the 256 bit WPA and you will add to the unreliability of you
networking test environment.

I use that kind of setup to test network applications.

Work as unreliable as it gets.

Steven Kelly wrote:

> Thanks for the suggestions!
>
> Just as a side note, the quickest way I know at present is to use a
> cable modem connection (longer ping times than ADSL) and/or a VPN (adds
> significant latency). Not particularly configurable, but works in a
> pinch.
>
> Steve
>
>
>>-----Original Message-----
>>From: Martin Kobetic [mailto:[hidden email]]
>>Sent: 15 January 2007 23:12
>>To: Martin McClure
>>Cc: vwnc-list
>>Subject: Re: GUI development tip: Throttle CPU clock
>>
>>I don't know much about it, but I noticed a lot of new support for
>
> VLANs
>
>>(virtual LANs) in Linux. I assume they became more interesting with
>
> the
>
>>new HW virtualization wave coming. I wonder if those won't let you
>
> tune
>
>>things like that.
>
>
>>-----Original Message-----
>>From: Mike Hales [mailto:[hidden email]]
>>Sent: 15 January 2007 22:46
>>To: vwnc-list
>>Subject: Re: GUI development tip: Throttle CPU clock
>>
>>I thought of a way that might be pretty easy to set up, but I haven't
>>tried it yet.  With SSH you can set it up to forward ports remotely
>>and locally.  You could just set up a number of them that forward
>>back and forth, as many as it takes to increase the latency.  For
>>example I could have my client connect to port 8080 on the server,
>>which forwards to 8081 on the client which forwards to 8081 on the
>>server which has the app listening.  You could then increase the
>>number of forwarders as needed.  Do this on an old box on an old hub
>>and you could probably simulate a latent connection pretty well.  It
>>could be done with just SSH and a simple script to set it up.  I'll
>>give it a try and post back sometime.
>>
>>Martin McClure wrote:
>>
>>>Steven Kelly wrote:
>>>
>>>>VMWare has this functionality: you can set the bandwidth and packet
>>
>>loss
>>
>>>>between two or more VMs running as a team on the same virtual LAN
>>>>segment.
>
> http://www.vmware.com/support/ws5/doc/releasenotes_ws5.html
>
>>>>(first para)
>>>>
>>>>You can't set latency with VMWare, which is a shame. Anyone know of
>
> an
>
>>>>cheap and easy way to increase latency? (/me waits to be deluged
>
> with
>
>>>>humour...)
>>>>
>>>
>>>We've looked at setting up a network simulator for this kind of
>
> thing,
>
>>>but haven't done so. I believe that there are commercial systems
>>>available, but we were looking at open source.
>>>
>>>I can't recall which open-source network simulator software we were
>>>looking at, but the hardware would be an old slow PC running modern
>>>Linux. The hardware can be old and slow because we don't need this
>>>machine to simulate a fast, reliable network (we have one of those)
>
> but
>
>>>to simulate a slow network that drops packets, delays packets, and
>>>delivers packets out of order.
>>>
>>>We're still hoping to set this up at some point, so if you do
>
> something
>
>>>like this I'd be interested in your experience.
>>>
>>>Regards,
>>>
>>>-Martin
>>>
>>>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Reinout Heeck
In reply to this post by Mike Hales

Here is a howto for doing it with a FreeBSD box:
   http://vorlon.case.edu/~vxl11/NetBots/wan_emu_howto.pdf

I know similar tricks are possible with the latest Linux kernels but  
I couldn't immediately find references and have to run off now ;-)


R
-



On Jan 13, 2007, at 2:28 PM, Mike Hales wrote:

> Does anybody know of any software to throttle the network speed?  I  
> would like to test some distributed computing code at more WAN like  
> speeds without having to actually test over the internet.
>
> Mike
>
>
> On Jan 13, 2007, at 6:29 AM, Andre Schnoor wrote:
>
>> Working on a 3Ghz machine, I always had problems with GUI  
>> development, because everything happened so fast, I couldn't see  
>> the individual widgets and canvases (re)display in order to track  
>> down inefficient and multiple redraws, updates etc.
>>
>> I just discovered a CPU throttling utility (RightMark) a few  
>> minutes ago and it perfectly downgrades my PC to run at 600MHz  
>> clock (actually the performance feels even much slower). Now I can  
>> watch all the widgets being drawn in slow motion and won't miss a  
>> single refresh/update anymore (very much like on the current Mac  
>> VM ;-)
>>
>> I remember a quote saying "Give your developers slow machines in  
>> order to get high quality applications". I just thought that might  
>> be of interest for you all.
>>
>> Andre
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: More information from stack?

Alan Knight-2
In reply to this post by Janko Mivšek
I note that in 7.5 the default headless error logs now use the more verbose format.

At 05:25 AM 1/16/2007, Janko Mivšek wrote:
Hi Carl,

To get a stack report out of exceptions you can use this:

  DebuggerService shortStackFor: anException initialContext ofSize: 30

I'm using this for composing a web page with error report on Aida/Web app server and it seems that you need a very similar solution.

Best regards
Janko

Carl Gundel wrote:
It would be very helpful to me if when I print out a stack from a methodContext into my debugging log that I could also get printStrings for each of the parameters passed for each level of the stack, and perhaps even a list of ivars and temps for the top level receiver.  Is there something built-in that I'm not finding, or perhaps someone has written some code to do this?
Thanks!
-Carl Gundel, author of Liberty BASIC
http://www.libertybasic.com

--
Alan Knight [|], Cincom Smalltalk Development

"The Static Typing Philosophy: Make it fast. Make it right. Make it run." - Niall Ross
Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Martin McClure
In reply to this post by Reinout Heeck
For Linux...

I believe that the network simulator we were looking at was NIST Net:

http://www-x.antd.nist.gov/nistnet/

This is clearly free, but hasn't been updated in a while, and the Linux
kernel's network handling has gotten a lot more capable in the meantime.

NCTUns:

http://nsl10.csie.nctu.edu.tw/

is being actively developed, and it looks like it will do what's
required. It's unclear what its license is, though it's "open source".

Regards,

-Martin

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Reinout Heeck
I've finally found what I played with in the past: NetEm

   http://linux-net.osdl.org/index.php/Netem

it comes standard with the latest Linux distros.


I played with it about two years ago when it was too unstable (it was  
very early in its development) to be usable, I suppose the situation  
would be better now :-)



R
-





On Jan 17, 2007, at 12:15 AM, Martin McClure wrote:

> For Linux...
>
> I believe that the network simulator we were looking at was NIST Net:
>
> http://www-x.antd.nist.gov/nistnet/
>
> This is clearly free, but hasn't been updated in a while, and the  
> Linux
> kernel's network handling has gotten a lot more capable in the  
> meantime.
>
> NCTUns:
>
> http://nsl10.csie.nctu.edu.tw/
>
> is being actively developed, and it looks like it will do what's
> required. It's unclear what its license is, though it's "open source".
>
> Regards,
>
> -Martin
>
>

Reply | Threaded
Open this post in threaded view
|

Re: GUI development tip: Throttle CPU clock

Martin McClure
Reinout Heeck wrote:
> I've finally found what I played with in the past: NetEm
>
>   http://linux-net.osdl.org/index.php/Netem
>
> it comes standard with the latest Linux distros.

Ooh, that looks just right. Thanks for posting the link!

-Martin

Reply | Threaded
Open this post in threaded view
|

Re: More information from stack?

Alan Knight-2
In reply to this post by Alan Knight-2
You can. And I think what I said is that in 7.5 it *is* used by default.

At 04:28 PM 1/22/2007, Dennis Smith wrote:
If the code exists, why can we not just invoke it?? or even make it an option to use it by default??

Alan Knight wrote:
I note that in 7.5 the default headless error logs now use the more verbose format.

At 05:25 AM 1/16/2007, Janko Mivšek wrote:
Hi Carl,

To get a stack report out of exceptions you can use this:

  DebuggerService shortStackFor: anException initialContext ofSize: 30

I'm using this for composing a web page with error report on Aida/Web app server and it seems that you need a very similar solution.

Best regards
Janko

Carl Gundel wrote:
It would be very helpful to me if when I print out a stack from a methodContext into my debugging log that I could also get printStrings for each of the parameters passed for each level of the stack, and perhaps even a list of ivars and temps for the top level receiver.  Is there something built-in that I'm not finding, or perhaps someone has written some code to do this?
Thanks!
-Carl Gundel, author of Liberty BASIC
http://www.libertybasic.com

--
Alan Knight [|], Cincom Smalltalk Development
[hidden email]
[hidden email]
http://www.cincom.com/smalltalk

"The Static Typing Philosophy: Make it fast. Make it right. Make it run." - Niall Ross


-- 
Dennis
Smith                     
[hidden email]
Cherniak
Software                              
+1 905.771.7011
400-10 Commerce Valley Dr
E               
Fax: +1 905.771.6288
Thornhill, ON Canada L3T 7N7   

http://www.CherniakSoftware.com

New offices as of January 22, 2007:
509-2001 Sheppard Avenue
East                  
+1 416.798.7948
Toronto, ON Canada M2J
4Z8                
Fax: +1 416.798.0948
Entrance off Yorkland Blvd south of Sheppard east of Don Valley Pkwy

--
Alan Knight [|], Cincom Smalltalk Development

"The Static Typing Philosophy: Make it fast. Make it right. Make it run." - Niall Ross