[squeak-dev] Services, Universes, SqueakMap browser all seem broken in 4.5

Chris Muller asqueaker at gmail.com
Wed Apr 9 16:12:57 UTC 2014


Hi Tim,

On Tue, Apr 8, 2014 at 9:52 PM, tim Rowledge <tim at rowledge.org> wrote:
> While looking around in a 4.5 image to prepare to move my code into the ‘official’ image I idly noodled around some of the docking bar menus.
>
> I noticed that the Apps->Services Browser opened something that appears to actually be the PreferencesBrowser, and that after taking a look at the Services classes I have no idea what the entire package is supposed to do nor whether it is used much. Is it actually useful?

I'm not sure why Services Browser seems to open Preferences Browser,
maybe THAT's a bug, but Services are definitely used and useful.

They're so that external frameworks can extend the IDE.  For example,
that MC History function which you wanted and got delivered to you
uses the Services framework.  :)

Check out "Create new service..." on the Methods menu.

> I noticed that Apps->Universe Browser doesn’t do anything fun because it can’t load any data from the now non-existent universes.dnsalias.net And there are two entries (Apps->Package Universe Browser & Apps->Universe Browser) that open what looks to be identical browsers. IIRC we are planning to remove this stuff anyway, so perhaps it doesn’t matter too much.

Universes is not used at all, TMK.

> I noticed that Apps->SqueakMap Catalog & Categories sort-of open but after supposedly updating the contents hardly any of the packages you can see via a plain web browser appear in the lists. For example, in the development tools section I see only LispKit & Prolog and not the perhaps 100 other packages.

That's because they weren't tagged as working in 4.5 and you didn't
unselect "safely available" packages.

Displaying all packages for all versions of Squeak is much worse than
displaying the just ones that WORK.  Because SM developed a reputation
over the years that "nothing works".  In actuality, most everything
works as long as you load it into the Squeak version it is designated
for.

If something has not been re-designated for latest 4.5 of Squeak then,
by definition, it is "rotting" and so should not be displayed in the
list.

Please read for refresher:

    http://wiki.squeak.org/squeak/6182
    http://wiki.squeak.org/squeak/6183
    http://wiki.squeak.org/squeak/6180

> And since one of the things I was originally intending to check on was space usage, I’m amazed to see 3Mb of strings (that’s about War and Peace), 9000 MCVersionInfo instances (and similar numbers of MCVersionName + DateAndTime, and Date, and Time). Wow. We’re holding on to too much stuff somewhere...

Yes, and as you know I already addressed MCVersionInfo bloat (just
select "flush cached versions and ancestry") but nobody liked it, so
maybe you can improve it so they will.

I also introduced String #empty, but we still have thousands of empty
ByteStrings in the image, which is kinda useless.

Also, you may want to check how many duplicate Date's you have and do
something to canonicalize your Date instances.


More information about the Squeak-dev mailing list