Folks -
Well, you have heard about automatic code updates in Squeak 2.0. Now is your chance to try them out. If you are connected to the Internet, all you should have to do is:
Start with a reasonably clean copy of 2.0, choose 'help...' from the screen menu, and then choose 'update code from server' in the next menu.
After a modest delay, you should see a progress bar as each update rolls in, and then a confirmation of how many updates were received (this will depend on when you get around to trying this). You should then save a copy of this image, as it will save you time not to have to repeat this process every time you want to get a clean image.
To give you a sense of how this can impact life between changes, I believe that every bug report so far since the release of 2.0 is dealt with in this first set of six changes.
058CSFileIn-di.cs Causes fileIn to recognize and save ChangeSet preambles. 059FileListScrollbarFix-di A proper fix to the erratic FileList scrollbar. 060NewServerOrg-di.cs Moves server globals into class ServerDirectory. 061MorphicPaneMenus-di Enables option menus in morphic browsers. 062DebuggerPcFix-ar.st Fixes pc selection during debugger step. 063aboutSystemFix-tao Makes aboutThisSystem work when you have no updates (which won't be so after the update but, oh, well...;-)
The update facility is primarily the work of Ted Kaehler, although it owes much to the underlying socket support built a while back by John Maloney.
- Dan
Greetings,
Dan Ingalls wrote:
Well, you have heard about automatic code updates in Squeak 2.0. Now is your chance to try them out. If you are connected to the Internet, all you should have to do is:
Start with a reasonably clean copy of 2.0, choose 'help...' from the screen menu, and then choose 'update code from server' in the next menu.
It worked really well. I opened a Transcript and watched the changes roll in. A very nice update mechanism.
Thank you, -John
************************************************************************ John Albert Fehr Ranch to Market, Inc. PO Box 162404 Austin, Texas 78716-2404 (512) 472-6726 jfehr@sprintmail.com ************************************************************************
After setting my proxy server correctly, the update worked well for me also. I was using the recently released WIN32 port for 2.0.
For those who may have missed the message, setting the proxy server was as simple as executing:
HTTPSocket useProxyServerNamed: '127.0.0.1' port: 8080.
where you substitute your proxy server address and the port number of the http service.
jlo
Jeff Odell Esprit Health, LLC Tampa, FL
-----Original Message----- From: Dan Ingalls [mailto:DanI@wdi.disney.com] Sent: Tuesday, May 26, 1998 12:18 AM To: squeak@cs.uiuc.edu Subject: Updates 'R' Us
Folks -
Well, you have heard about automatic code updates in Squeak 2.0. Now is your chance to try them out. If you are connected to the Internet, all you should have to do is:
Start with a reasonably clean copy of 2.0, choose 'help...' from the screen menu, and then choose 'update code from server' in the next menu.
After a modest delay, you should see a progress bar as each update rolls in, and then a confirmation of how many updates were received (this will depend on when you get around to trying this). You should then save a copy of this image, as it will save you time not to have to repeat this process every time you want to get a clean image.
To give you a sense of how this can impact life between changes, I believe that every bug report so far since the release of 2.0 is dealt with in this first set of six changes.
058CSFileIn-di.cs Causes fileIn to recognize and save ChangeSet preambles. 059FileListScrollbarFix-di A proper fix to the erratic FileList scrollbar. 060NewServerOrg-di.cs Moves server globals into class ServerDirectory. 061MorphicPaneMenus-di Enables option menus in morphic browsers. 062DebuggerPcFix-ar.st Fixes pc selection during debugger step. 063aboutSystemFix-tao Makes aboutThisSystem work when you have no updates (which won't be so after the update but, oh, well...;-)
The update facility is primarily the work of Ted Kaehler, although it owes much to the underlying socket support built a while back by John Maloney.
- Dan
Hi all,
At 07:04 26.05.98 -0400, Jeff Odell wrote:
After setting my proxy server correctly, the update worked well for me also. I was using the recently released WIN32 port for 2.0.
For those who may have missed the message, setting the proxy server was as simple as executing:
HTTPSocket useProxyServerNamed: '127.0.0.1' port: 8080.
Thanks for the hint, that saved me a bit of a headache before even trying the update mechanism. I must say it's way cool.
As I watched changesets 058* to 077* roll in, I wondered whether I should file them all out for backup purposes. Just the other day, I have had an image crash on me. (Easy, all work recovered from the changelog, but a crash.dmp tends to shatter my confidence for a day or two.)
The real question is, will the changesets remain available until the next image release? And did I miss any below 058*?
Have a squeaky pentecost eve, Helge
Helge -
As I watched changesets 058* to 077* roll in, I wondered whether I should file them all out for backup purposes. Just the other day, I have had an image crash on me. (Easy, all work recovered from the changelog, but a crash.dmp tends to shatter my confidence for a day or two.)
After retrieving updates, all the source code is in your changes file and the compiled code is in your image. Moreover all the changes are recorded, along with some comments about them in the changeSets browsable by the changeSorter. If you save a copy of the image and changes after getting updates, this is sufficient. Moreover, since the image "knows" its last update, if you re-start from your updated image, it will only have to retrieve updates that came later.
I would not advise filing the updates out, as some updates are order-dependent, and their order may not be preserved by the fileIn/fileOut process. If you really want the files, retrieve them with FTP, or use the statement Utilities absorbUpdatesWriteFiles: true zapNums: true to retrieve them. This will write them on the disk as it files them in. But I really wouldn't bother.
The real question is, will the changesets remain available until the next image release? And did I miss any below 058*?
Yes they will remain available at least until we release a new image that has then all in it.
No, you did not miss any updates. 57 is the last we issued for the beta image. Updates for 2.0 began with 58.
- Dan
Hello all,
I spent some time working with 'step' in the Morphic debugger. It's not easy trying to debug the debugger. I pretty much resorted to inserting code that blasted info directly onto the display. I came up with a handful of fixes, which I've attached.
The main problem with updating the selection while stepping (both MVC and Morphic) was supposedly fixed when Dan Ingalls wrote:
062DebuggerPcFix-ar.st Fixes pc selection during debugger step.
but this change apparently was mis-transcribed from Andreas Raab's fix.
-The Debugger step method needs to do a changed: #contentsSelection (not #currentSelection).
Also, I made the following changes that apply only to Morphic:
-The PluggableTextMorph setSelection: method would only display the selection if it needed to be scrolled into view. Added 'scroller changed' to update the highlight for when it's already visible.
-When going from the Notifier to the Debugger views in Morphic, the original SystemWindow and PluggableTextMorph were left as dependents. Things like setSelection: were getting called twice. By calling breakDependents in Debugger>>debug they're eliminated from the dependents.
-Finally, the Morphic Notifier had an initial selection (visible if one scrolled or resized the window) as if the text was showing the debugger's code, rather than the notifier's short stack. I changed Debugger>>buildMorphicNotifierLabelled:message: to nil the #readSelection: argument. While I was at it, I used nil for #text: and #accept:, since they aren't really being used.
One other minor problem in Morphic that I noticed is: Right now if you 'cancel' while in the notifier, all the text goes away. This is because the initial short stack message isn't saved in any model. I couldn't think of a *simple* way to correct this ... maybe after I learn more about Morphic.
------------------------------------------- Bill Dargel wdargel@shoshana.com Shoshana Technologies 100 West Joy Road, Ann Arbor, MI 48105 USA
Content-Type: application/x-unknown-content-type-txtfile; name="DebuggerFixes-wod.26May606pm.cs" Content-Disposition: inline; filename="DebuggerFixes-wod.26May606pm.cs"
Attachment converted: Cog:DebuggerFixes-wod.26May606pm.cs (????/----) (0000D562)
Bill -
I spent some time working with 'step' in the Morphic debugger. It's not easy trying to debug the debugger. I pretty much resorted to inserting code that blasted info directly onto the display. I came up with a handful of fixes, which I've attached.
Debugging the debugger is always hard. But it's good for you!
062DebuggerPcFix-ar.st Fixes pc selection during debugger step.
but this change apparently was mis-transcribed from Andreas Raab's fix.
-The Debugger step method needs to do a changed: #contentsSelection (not #currentSelection).
Aaugh! Apologies to all, esp to Andreas. I should just have copied from the msg.
-The PluggableTextMorph setSelection: method would only display the ...<several other fixes snipped> ...
Many thanks for your corrections, Bill. I'll get them out as updates, along with a couple of others today.
- Dan
I haven't seen it reported, so I will. Morphic is still to slow to be useable on my Centris 610 20mhz 6840RC40. I am still limping along trying to learn how to use the old fashioned MVC.
On my 8500/120 PowerPC it run pretty well, but still seems to hesitate a bit. Unfortunately I don't have time at work to play Squeak:(
I am looking forward to trying the new pluggable MVC. The differences between dialects is still frustrating. The debugger is my friend, and I am slowly learning new tricks.
Keep on Squeaking,
John-Reed Maffeo Apprentice without a Master
I haven't seen it reported, so I will. Morphic is still to slow to be useable on my Centris 610 20mhz 6840RC40. I am still limping along trying to learn how to use the old fashioned MVC.
Yep, we know. That's partly why we left MVC in. The scrolling lists in Morphic (out of which most of the tools are made) still need some tuning, but it even when that is done, Morphic may still seem sluggish on 68K Macs. There are two reasons for this: (a) Morphic provides smoother screen updates than MVC via double-buffering, and (b) Morphic shows you the full object rather than just an outline as you resize or drag it. I wouldn't want to give up (a), but it might be relatively easy to make (b) be an option that could be turned off on slower machines.
And there's always hope that some super-Jitter VM will give us the extra performance we need to run Morphic well on slower machines. :->
I am looking forward to trying the new pluggable MVC. The differences between dialects is still frustrating. The debugger is my friend, and I am slowly learning new tricks.
Which dialects do you mean? Squeak 2.0 versus Squeak 1.31 or Squeak versus some other Smalltalk? Just curious.
Thanks for your performance report. Here's an interesting Morphic benchmark you could try:
1. make an empty Morphic world or project 2. use "new morph" to make a "BouncingAtomsMorph" and a "FrameRateMorph"; delete all other morphs 3. read off the frame rate and milliseconds/frame
On a Mac 8100/110, I get about 74-78 msecs/frame (12-13 frames/sec). I tried this on a Powerbook G3 in a computer store and got something like 50 frames/sec!
-- John
Maloney wrote:
--- snip
Thanks for your performance report. Here's an interesting Morphic benchmark you could try:
1. make an empty Morphic world or project 2. use "new morph" to make a "BouncingAtomsMorph" and a "FrameRateMorph"; delete all other morphs 3. read off the frame rate and milliseconds/frame
On a Mac 8100/110, I get about 74-78 msecs/frame (12-13 frames/sec). I tried this on a Powerbook G3 in a computer store and got something like 50 frames/sec!
PowerPC 8500/120
high: 103 low: 76 average range: 83 - 94
-- John
I've finally found time to make the release package for Acorn machines and place it on my website.
The 'normal' image _almost_ works but at the last minute there wasn't time to get the last couple of fixes in, so there is a small changelog and a slightly altered image in this release. I finally found a way to get the hotkeys into the system, so at last you can do cmd-C etc. I also gave up on trying to use the Acorn $. directory separator and went to a scheme of faking it out with a $/ and altering the fileprims slightly to translate. Since Acorn users are getting used to using URLs for everything, this shouldn't be too painful. As usual, the VM build package is provided ready to go in a Sparkive and the runtime is available in both full and slightly shrunk forms, with the smaller image about 1Mb smaller than the bigger.
New features (above and beyond the belated hotkeys) include new commandline argument handling (thanks Andreas) so you can find out all the flags and filenames used at startup, the possibility of putting the base image/change files inside the !squeak application so that a default image can be started with a single d-click, a better !Help file and a cure for warts.
Coming up soon are a 30x faster list displayer, benchmarks, saving images to a different directory and nasally fitted badgers.
This system should work ok on an Oracle NC (preferably the 'Office' StrongARM version) if you know how to do the RiscOS->NCOS configure tricks, and on the 'Phoebe2100' machines. It should function, albeit a little slowly, on IMS Peanuts as well.
tim
squeak-dev@lists.squeakfoundation.org