Oct 17th 2000.

Camp Smalltalk (July 17-20th 2000)


It's here it's wonderful. Every year since say 1997 I've attended Smalltalk Solutions in NY. {Perhaps I should write some trip reports eh} But in 2000 sorry no Smalltalk Solutions, sad. But wait isn't there something else. Why yes there is Camp Smalltalk, and SqueakEnd'00. Since Camp Smalltalk 1.0 was so good it was decided to have another and double the fun.

? What is this Camp Smalltalk ?

Camp Smalltalk Annapolis Monday July 17th, 2000 (QKS and ".net" information)

Camp Smalltalk Annapolis Tuesday July 18th, 2000

Camp Smalltalk Annapolis Wednesday July 19th, 2000

Camp Smalltalk OOPSLA 2000

Thursday July 20th, CS2

It's way early (8 am) for a night owl, but I'm up. Down in the conference room Ralph was talking to five people about social dynamics. Introverts, versus Extroverts, planing, versus not, detail versus abstracts. Detail people sometimes pick up on the clues, the abstractors might ignore the details that define the problem or solution. Oh and on the table were three macintosh, is that some sort of clue? Where are the Dell crew?

Slowly things dissolved into teams to start tackling the problems of the day.

The network group was moving towards converting Flow to VisualWorks. Hopefully this wouldn't take long, it really was a side effect of the work being done on an generic transport layer to tie internet services across dialects.

At 9 am about 12 more Campers appeared, coffee flowed and 10baseT cable was laid.
It was remarked that his whole process needs to be more transparent, that everything should be setup before camp starts.

Enoch starting running his coffee bar. In a sense for some of us this * IS * the most important role for someone to play at camp at this time in the morning. Enoch makes the BEST cappuccino east of the Rockies and perhaps the only, since both fine eating establishments I visited in Annapolis did NOT have expresso machines. As I sipped yet more coffee Ralph whizzed by hunting for someone that knew trigonometry to help the ANSI group with some of the ANSI math tests.

I spent a few minutes talking to the XML team, the Squeak XML parser now was able to parse some simple XML. It PARSED Bijan exclaimed wonder in his eyes. There are some XML test suites (a lot actually), and the VisualWorks 3 parser for example passes most of the tests, excluding some of the ill-formed one. This makes proving the code easier and of course points to the importance of test suites. Hopefully by tomorrow they would be able to publish their work. For some background this group is porting the Cincom XML parser from VisualWorks 5 to version 3, and to Squeak. Also the original software didn't work for all the test cases, but it was a validating parser with XSL support. Some of the team members had picked up the source pre Camp Smalltalk 1. Even though it sounds like not much progess has been done in reality lots of work has been done, for example Rodger has made available a large test suite and a framework for building more tests. Now they are reaching the state were they need to do version management and open source management of the material being released by Cincom. Some of the issues now stem from the version of XML Cincom uses in production is different from the open source version.

Bijan explained further about how he was going to build a minimal unified GUI MVC/Morphic for Squeak, the pluggable stuff. Although this mostly works there are decisions that the programmer still makes, this should be hidden from the programmer. Also he wants to port this to other Smalltalks so you can build MVC tools in Squeak for other dialects. Not that you would get Morphic, rather the minimal MVC UI functionality would get shared. SUnit for example could use this to avoid having specialized UI classes.

Today I wanted to collect some ideas about Camp. So some views from the Campers:

(a) One of the neat things is the stimulation and the fact you get to meet various people you read about in books and read about on the net and now you get to see them work. . You really get pumped! and stay that way for weeks.

(b) Camp is great, because we are able to focus, set immediate goals and get some things done. Although we worked with a SOAP on a rope spec there was big steps there once we understood it. It's an important step for the community. More of this should happen with more people, the nice thing is that you get to share ideas, there's enough love the world for everyone, we should be able to share ideas and concepts. Great to have a big conference room, nice area etc.

(c) A Camper from IBM was telling me that he is responsible for the upcoming VisualAge release preview 2000 event. Amazing who is underfoot. One of his intents is to open the event to more people. Stay tuned to CLS or the Squeak or Camp Smalltalk List for more information. Getting people talking is really exciting, IBM's experience from CS1 was that the two IBM's that attended where really pumped after the event and this made a quite a impact on their co-workers. Thus of course IBM was back, they understand the need to foster more of this in the community.

(d) A Camper reflecting on what to say as he heads for the Airport. The best part was discussions with other Smalltalkers, I didn't get lots of project work done, but lots of discussion and in some sense that was the most rewarding aspect of being at Camp.

Now back to the teams

Soap.

Mark wanted to review where they are, were they need to go. HTTP doesn't need to be there yet, we need to be able to parse a request first, don't get sidetracked. Some of the work that needs to be done is the ability to parse a complex message. No work has been done on actors or chaining or returning a reply. The objective is to parse a request, bundle up a reply and return the result. Don't worry about threading, synchronization, error handling, this isn't important at this point in the project. As you can see there is lots of work to do and this will be a continuing project after Camp for the Smalltalkers involved.

Of course any others who want to join in should check out the Swiki

The Network group was still busy porting Craig's Flow work to VisualWorks. This was personally interesting because I got more information from the author of Flow about how it all works and the intent behind the work. Four of us crowded around a laptop and examined the Flow source code in Oasis. It was decided start the porting at the NetStream class versus the ExternalResource class. The philosophy of code creation during debugging was used to create the methods need for the NetStream class as we attempt to create a streaming Socket.

GLORP and GLOP? (Generic Lightweight Object Persistence) Stay tuned for more information. About then a few very interesting toys, er expensive digital videocams appeared, as some campers departed and memories became digital bits. And were where these hidden earlier in the week?

The ANSI group, and the PEPE subteam had been busy. The PEPE team had transferred the entire ANSI test suite out of VisualWorks into a text file and back into VisualWorks as a sanity test.

Peter explained to me PepeImage a class, contains class side methods to install a class into a Smalltalk image, then compile all the methods, then send any class side initialize methods. It doesn't deal with pool variables etc, simple, meets most of the porting needs. For the fileout logic there are a bunch of methods to emit printable stuff to a stream by walking the targeted class definitions.

In the background Ralph was talking to a few people about how to work on a secondary degree since in actual fact some of these expert Smalltalkers hadn't either attended University or gotten a science degree. Some of this can be learned by reading books, but then again classes at university are valuable and in fact a few in the crowd were thinking about attending University as mature students to compete a degree or secondary degree.

A few Campers were talking about how to revive Smalltalk User Groups. Why do people attend or don't attend Smalltalk User Groups? So how do you get the people out? This doesn't have a clear answer, if you look at some Linux User Groups, lots of people, but they aren't there for the speakers. Given there is 500+ known! Smalltalkers in the local DC area, why did only 15 attend?

Lunch… $3 for a Subway sandwich, which meant money for a great dinner this evening.

What about the future of Camp Smalltalk, do we need larger ones, or smaller ones. 90% of the solution is getting someone to tack down a date, time and place. Once that is settle it seems there is critical mass for getting people to attend.

Again some discussion about getting the network stuff to work.

Ralph had some things for us to think about.

There is some work to required for the OOPSLA poster session, some people are need to assist in making the posters and to show the posters during the OOPSLA poster session. Ralph later in the afternoon sat down and with a few campers and started to create the posters.

ANSI

The exception test suite is slowly being built, but this is difficult. The first attempt was too VisualWork specific. The Float protocol was being constructed, a lot was done, but things like a Magnitude helper was still needed. Ralph had been writing a refactory browser script to resolve the issue with scaled decimals in the test suite. There was also an issue with the helpers order of access for Float versus Number. Some ideas were presented to allow you to share functionality of helpers, so you might have greaterThan and greaterThanFloat which then delegate to the correct validation routine based on need.

The network group was surging ahead with code development, last moment, but they were quite excited. They had gotten the point of opening a VisualWorks Socket, now they just need a port on a local server. Say port 7 on the Linux server, this provided to be difficult and your scribe spent 30 minutes fixing some issues with the echo service, domain name service, and dhcp being wrong after the reboot this morning. In the corner the Cincom folks were settling the bill with the Hotel (Thanks to Cincom for hosting us).

Your scribe between typing this story was busy feeding suggestions to the network group about code that was needed in NetStream. As this was happening the folks from the Netherlands said goodbye and left for their 14 hour sojourn to the old country.

David Siegel was busy trying to read his 350 mail messages, and over the corner some Smalltalkers had cornered a Cincom rep and were pumping him for information about what Cincom was doing and how Cincom could make the user community happy. Some examples of other language vendors were give to show how those people could get things into the production, even Squeak for example allows somewhat arbitrary change sets to creep into the base product, certainly productivity tools get in there. Sooo how does stuff get into VisualWorks?

Said rep, calming the crowd: The process is special, not public, quite yet... The realization that this is a problem is realized at the top of the company and change is percolating downwards. Remember for Cincom VisualWorks is a significant! growth area. The number of NC downloads shows that VisualWorks is popular, but the path for a developer using the NC version to migrate to a commercial version is unclear. This is recognized as a problem and being fixed, but in a large company this takes time. The feedback has been heard so stay tuned.

As the afternoon slowly progressed people had various discussion about how to make the community more cohesive, how to avoid splintering across dialect lines. How to reach the business people, who fund the engine, and how to get contribution from the hobbyist who do interesting things? Hard questions, did we have answers? Back to the issue about where and how a conference should be hosted. Are we too small to host dialect specific conferences? Yes? Is this what we want to do? Lots of questions

****

David Simmons of QKS had joined us and was discussing that "Yes we could run a presentation on Smalltalk with ".net" at some upcoming microsoft convention" but this requires lots of effort for other dialects.

On the Squeak list someone asked about porting Squeak to ".net"

David Simmons said: "Hey if the Squeak people want to port their framework to the QKS ".net" VM engine they should engage me in conversion!"

* Squeakers are you listening *?

****

It's 4:30PM there are 16 Smalltalkers busy working on minor projects, hoping Camp won't end, Bijan is busy trying to get my Flow tests to work. Why not if you have the author handy. Just a few configuration issues to solve. As this is happening I'm collecting travel information to visit a fellow Smalltalker on the weekend.

4:55 PM 5 minutes and counting. CS2 is coming to a close, a few of us are plotting where to eat, the majority are checking airline schedules and hoping for no-delays. With mixed feelings, sadness, cheerfulness we depart back to work and reality after nearly a week of great coding, friendship and production of results.

Much later most of the evening was spent enjoying fine food and simulating conversion which I'll not repeat with four other Smalltalkers in downtown Annapolis. Great location, and Camp Smalltalk 2 ends, now where will CS3 be?