Oct 24th 2001.

Camp Smalltalk Essen ESUG 2001


Note on Oct 24th 2001 this paged was moved to a Wiki so you can edit it there. Please read it over there, this copy is here for historical reasons. http://wiki.cs.uiuc.edu/CampSmalltalk/ESSEN+Camp+Smalltalk+Day+3

Back to Day 2.

Day 3

It's raining, yes it's cool, great stuff. Again this morning the rooms are full of Smalltalkers working over cool keyboards, even a happy hacker one. During the day about 38 or more Smalltalkers coded away, various new people arrived for the pending ESUG conference and joined in on the activity where applicable. Early in the morning someone collected statistics on Smalltalk usage, and found 12 people were using VisualWorks, 8 for Squeak, 6 for VisualAge, one for Dolphin, and one for other.

The GLORP folks were migrating the Dolphin changes back to VisualAge. They were writing a filein parser to read the Dolphin fileout so they could reintegrate the changes, say don't we have lots of these file transfer methodologies, or maybe they aren't as good as we think? Perhaps someday we could get a generic repository everyone can use on the common server. Oh and a few Smalltalkers who had read the notes from Saturday actually replied to Alan Knight with their change request as they were real users of GLORP.

Alan told me the changes from Camp Smalltalk will go up on the Source Forge site or the Cincom public FTP site once things settle down later this week. The next major thing for Alan to do was an overview of the GLORP for the people involved since most of them were dealing with difficult issues like database interfacing and hadn't an opportunity to understand how the entire system works. The other major thing is to read or write to a STORE schema from any dialect. This would enable us to share a single repository. Of course one could use Joseph's work to build the data for STORE. The other choice of course is to use some other relational database, but there would be more work involved. Later in the day it was pointed out to me that Hans-Martin Mosner <hmm@heeg.de> had this SCAN repository (see http://squeak.heeg.de:8080/ that really address many of the storage, distribution, security, and authorizations concerns of dealing with objects, like mail, or methods, or packages, or even modules.

In the early afternoon Joseph and I worked on getting the Flow stuff to work in Stable Squeak and we finally setup a server that took an incoming SIF format Smalltalk script, then used the semantic reader to parse and compile it. Then finally execute it within the Squeak Image. The client was a VisualAge image. The next thing we did was try this same task from VisualWorks, this also worked. So a major hurdle was accomplished. Later today Joseph was hoping to send the compiled form back to VisualAge for it to execute in VisualAge. I believe this happened because at dinner Joseph told me he got all the SUnits to work on VisualAge, his comment: "The sun should never set on a broken SUnit"

As we were working on this the Numeric group finally had got another VisualWorks3. X port of the source code originally derived from the VisualAge source (Thanks to the Smalltalkers in the world for contributing to this effort.) This acquired change set was going to become the reference version. So the plan is to have a fully working version in VisualWorks 3.x, and a version in Squeak. This then will be cleaned up back in VisualAge in order to have source code across all three dialects. From this point the team needs someone to help port to Dolphin, contact Roger if interested.

One of the interesting things they were looking at was a cluster test failure, but it only fails occasionally, repeated runs don't give consistent results. Very odd. Just a wee problem somewhere in the numeric engine. Fun Fun, Fun…

Lunch. University cafeteria food is bland, cheap but bland.

After lunch I located the standard socket team. They are building test cases to start testing the interface, right now they are building a framework to test with. They have coded up some behavior but there is lots of more work to do. Later in this conversation they entered into a conversation with 'The Flow guy' and started to hash out exactly how the class hierarchy should be. This then lead into a discussion about ExternalStreams in VisualWorks and how should they be incorporated, or if they should be incorporated. Craig took the opinion that they should not go there, keep things simple to allow for lots of dialect support. There was lots of discussion about builders, and who had responsibility for creation of things and how this affects the Stream hierarchy. Also how to get the vendors to make any required changes in their products. Since this effort is fairly new one can understand lots of groundwork is still required before actual code is produced.

The refractory browser group had a question about MVC versus Morphic, and a decision was made to just get the Morphic windows to work, someone else could worry about the MVC windows. "MVC is dead" mumble a lone Smalltalker from across the room. Ok, someone can add the MVC pieces later… Let's get Morphic to work better was the chant.

Carsten was working getting FROST of out ENVY 5i.1 into 5i.4 parcels; again namespaces were giving them headaches. So very little progress today.

Over in the Web Services group, Magnus was using the VisualWorks SOAP protocol to talk to the VisualAge Web Server. This worked. What more could one want? For live testing they were looking at the http www.xmethods.com page and trying different SOAP services. This seem to work quite well. The next step is interoperability testing, in each dialect they will create a service, then attempt to talk to it from a client from each different dialect. I also asked about real clients and was told in fact they do have Smalltalkers out there using this software for serious application development, so the progress today is a great thing.

At this point I took a few hours off and worked with Joseph on moving his semantic model classes to VisualAge. The proper use of SUnits made this testing and work easy. We just filed in the classes, resolved any glaring conflicts during the filein, then we ran the tests and started fixing the tests that failed, one by one. In a few hours we had fixed all but the most difficult issues, such as the method rewrite required to enable us invoke the dialect scanner to return a token tree so that we could confirm such things as globals were being created correctly. Much mumbling about the lack of a common storage repository, however great progress was being made.

Peter van Rooijen later discussed with me his talk on programming driven by SUnits, the concept of building the SUnits, then building software that works with the SUnits, I'll have more on this subject later in the week.

Beside me the NUMERICS group was laughing, it seems one of the tests that was coded was a check for numeric integer precision which attempted to find the precision of Integer, this of course ran until the VM ran out of memory as it attempted to reach infinity using huge large positive integers. Later it was discovered that test should really run against double precision floats that do have precision limits. Actually this issue was a fallout of migrating the code to Squeak and having to remove the d format from string constants because the Squeak parser doesn't understand it. perhaps this could be added to Squeak, since we lose the precision information which other Smalltalks need to instantiated constants.

Later I talked to the socket standardization people about socket options and how I did them in the macintosh socket implementation and how they were exposed in Squeak. At the moment they were consolidating a list of options and deciding how best to implement them.

As 17:00 rolled around things got very busy, people attempted to set future objectives and clarify current decisions and write another couple 100K of source code. The ESUG organizing committee had their heads down planing for tomorrow, being very thrilled with attendance.

The Numeric group had ported everything to 5.i4. The problem now was dealing with namespaces. They were writing code to migrate classes to the proper names pace without having to manually do everything by hand. They weren't quite sure how to do this, but as true Smalltalkers they were examine the system code to understand how some of the tools did it. Then ended up lost in little twisty mazes I understand.

Craig was running about with his new toy, a digital video recorder, so he plans to upload a few "real player" and or mpeg3 files so you all can see what was happening. I did see some of those digital cameras in use, perhaps they don't have film, since I've not seen any pictures. Persons having such pictures should send me a link.

At 18:00 the ESUG organizers reviewed what was happening with the upcoming social and some housekeeping chores, then more coding occurred.

Claus was working with the Refactory Browser code and running test cases in Smalltalk/X, progress was being made.

Joseph had is semantic model loaded and mostly working in VisualAge, then he was working on packages and clusters. Some of the problems related to fileout from Squeak, Squeak doesn't correctly order the file outs, but VisualAge needs classes to appear in the right order, if they don't then methods are skipped, which makes things not work correctly. This all was fixed and SUnits all ran before dinner.

Craig broke out his Ipaq and started giving demos of Squeak on it, this had a someone disruptive effect on the room as people crowded around to see the handheld fully functional Squeak.

Much later at dinner we heard interesting stories about where Squeak was going, did you know Squeak is being used on a facinating AI project to mimic the human brain? If you attended Camp Smalltalk you would know who too. Or did you know about Jitter 4? If so you must be in Europe too.

So ends another Camp Smalltalk, but now ESUG starts and the program looks great. So look forward to some other notes, tomorrow.

Your scribe, John.


I should point out that the ESUG committee gave me a rough copy of their camp smalltalk report to post here, it also summeries the details (see their site for the official schedule) of the pending ESUG activities.
Onward to the Essen ESUG experience report Day 1