|
|
|
Oct 17th 2000.
|
Camp Smalltalk (OOPSLA 2000) Tuesday
|
Sunday Oct 15th 2000
Monday Oct 16th 2000
Wednesday Oct 18th 2000
Thursday Oct 18th 2000
Tuesday Oct 17th.
It's 3:00am Wed but I've some interesting things to report so..
In reflection I'd say Camp Smalltalk @ OOSPLA isn't quite the same as the previous camps since there are far more distractions and the majority of campers are there to see the conference, so the contributions are less, with workshops and tutorials breaking up the flow. In fact I'm not able to capture as much information as I'd like since there are these distractions. But surprises lurk. My morning was spent discussion thing with some folks and
At noon I went down to Camp Smalltalk, which now was centered in the courtyard. This by the way was a prime location, we had a throne, a gate, a really large sign and could easily trap various curious onlookers, and one of the vendors told us that if they couldn't understand a technical question they could sent the person off to camp so to speak. Hint to the 2001 Camp Smalltalk organizers, a prime location is great but include some soft couches and the like
A group of 32 odd campers surrounding 14 computers were working on various tasks or were showing off interesting software, but there was something there no-one had expected.
Thomas Evans tom.evans@abstractions.com was proudly showing Smalltalk-80 release 1.0 version 0.2 September 17th 1985. from Apple which was running on his 512KE mac, I wonder if any IBM PC or dare I say IBM PCjr exist in a running condition in the state? The VM, image, and Apple OS System 5.1 was spread between a 400K external and a 800K floppy drive. It had about 144,000 words of memory free and we timed it doing 50 factorial at 7 seconds. This was cool more than cool. In fact various people asked/begged for the source code. If you are interested I guess you too could email Thomas.
I dragged Thomas aside and looked at the Squeak SortedCollection sort logic and we matched the 1985 version to Squeak 2.9.3 with one change related to a precondition that was in fact added just last year. Way Cool. Later that day someone from IBM was telling me that he comes across Java folks writing Quicksort routines, here today in the year 2000 because code reuse is so poor, I couldn't dare ask if they did a Bubble sort first
Thomas eagerly show us that when Smalltalk-80 starts up we get a view of the Apple Smalltalk group from 1985. Thomas first job was hacking 'The Analyst'. Martin McClure of Gemstone fame was also sitting watching and contributing to the discussion with the background of his Smalltalk history and his meeting with Dan in 89 at one of the first OOPSLAs.
Joe Bacanskas was busy helping a gemstone client and explaining some technical issues relating to Gemstone classes and types.
Don Roberts and John Brant were helping Tom Robinson workout some issues with a VisualAge implementation of the Refractory Browser.
Roger Whitney talked to me about doing a headless Mac image. Strange no-one has asked before. I'll explore this as time permit. You should be able to run scripts, why should you be forced to learn perl or phyton. You need Smalltalk for this. Much later that evening I had a discussion with someone in the know about ".NET" perhaps a Squeak version is being planned, anyone got some spare time?
Travis had graduated to using Smalltalk/X with Claus, and James Foster who had been working with Joe on the SUnits for Gemstone was watching. James discussed some issues with testing with me and Rodger who had joined in to talk about how Java Servlets were so difficult to debug. No tools, very primitive. Travis was mumbling to himself and playing with primes and fractions. Donald was telling me that his JWARS presentation had about 50 people attend, a success, most of the people seemed attracted to the title. So as you can see LOT was happening.
Alan Knight's presentation on GLORP, a Camp Smalltalk project, was very well attended. There was interest in the Squeak port. Although GLORP is a tool to the database, there were questions about which is the best open source database to choose. Alan's goal is GLORP not to write Database policy platforms, this can be left to other subject matter experts, you want an interface to SuperSQL then you write it. About six individuals were surrounding Alan asking questions about GLORP and questions about issues like sourceforge, STORE, CVS etc flow. Decisions were made, questions arose about performance and some of the decisions about the architecture and lessons learned from TopLink. Testing was discussed and how broken JavaScript and Javalets were when it came to testing, a common thread maybe they'll fix that in 2001.
------------
Swazoo, a Camp Smalltalk project, had about 38 people attending, which is all that could fit into the room. SWAZoo is the Smalltalk Web Application Zoo the merging of Commanche, Hydrogen, BytesSmiths toolkit & AIDA/Web for most/all smalltalk dialects.
They wanted an HTTP1.1 server, support for virtual servers, URL resolution, HTTPRequest parsing. It has a pluggable resource, so a site can plugin a Wiki, or a File Resource or some sort of other service. Support for SSL (Secure Socket Layer) is coming.
See Signalground.com for an example.
Current ports pending or in progress are five, with version now for Visualworks and Dolpin. The source can be gotten from sourceforge.net, and soon swazoo.org. A Swazoo page can be static or dynamic and an example of each was shown. One of the things because the application does not have regular server logging yet is that you do have real time statistics via looking at instances and running a report so you can look at hits, when hits occurred, how often etc.
Cookies are support to enable some common web security features (logon/passwords). If you supply a userid then pages and links are built according to your access rights.
AIDA/Web complete source is at
http://www.eranova.si
Original design ideas, MVC for the Web, WebElements, session management and security. Every object should be able to represent itself as a web page, object references should be mapped to URL references. Should have multiple views. He went on to explore how an http request comes in and how a page is created. 35,000 hits per hour to Gemstone.
Discussion about Smalltalk in e-commerce and the Web?
Security question about access to pages, then another about how many Gems you needed and how to do load sharing. What about URL names. In this case some pages have static names, sometimes you need to create pages on the fly so a name is created.
Another about sharing a web page object across many servers in the same image. So for example you could have a background page that is shared across multiple servers.
The Bottle neck seems to be in sockets, could only do about 50 connections per second. Originally was connected to say Apache, but why? You can do everything in Smalltalk and you have better tools besides better Socket support from Cincom is coming.
Frames? Yes you can do frames, but why? Everything is dynamic it's easier to to build things versus doing frames.
---------------------
Implementing NetUnify.com using Squeak, by Stephen Pair www.netunify.com
About 32 people attended. Based on the WikiWikiWeb idea and the Swiki.
An example
A login, or account creation screen. There is a process flow for dialogs, and you can next things, using back will pop things off the stack so you can figure out how to replay the process, when the browse does a forward. Uses cookies of course, or a sessionID on the URL.
Once logged on you pick or create a project. If you create a project you can pick from a template that is created for you. This helps you get started and of course enables you to build business specific Wikis. Much of the interactions for a page of course is much of what you see today on some Swikis.
Some enhances are made to allow you to use a painting tool to create pages and lay them out. Pages can be marked read/write globally/or for a group. Then you can add users by name to your group by inviting them in. The security interface of course lets you manage who has what rights to your pages.
Why Squeak?
Full access
Highly portable
Strong community
Support in education
Good supply of talented people (they are beside Georgia Tech)
Adapting Squeak
Squeak is mostly a client interaction environment
Etc
Sockets!
Windows NT for server, 9x win 32API's clients
Needed NT's Async IO and IOCP socket implementation. Called xSockets.
Squeak had Comanche. But it comes with PWS. We used Comanche and refactored and optimized then students came back and took results. There is NO apache or other type of Web Server again Squeak is the Web server. Steve showed us the Server this was interesting because in Morphic he set up some textual comments etc in the running server's window to explain the different windows. Think Dan's 1999 OOSPLA presentation, but in a running server.
Squeak Server pages, similar to other Server Page technologies. They have build a compiler that allows you to place HTML directly into the Squeak class browser in the class browser. Allows you to embed HTML using standard tags. Embedded code is pre-compile and variables bound just like regular methods. Of course you can embed Smalltalk that needs to executed. This of course was a change to the compiler. But it makes life easier you don't need to do that '' quote stuff. This also enabled better reuse and refactoring of HTML code fragments
Some examples of authoring pages on fly, and using the inspector was given. Remember Key buy was putting HTML in methods.
Server process runs headless, needed remote debugging tools. The tools let you debug sessions and track errors. This lets you see the stack trace and since we store the entire stack away then we can load the stack and use the inspectors to debug the problem.
XML is used to store all NetUnify persistent objects
An object can be converted to generic XML using #xmlStoreString
Has a transaction framework
Supports Squeak image segments
Platform independent
Futures: TIP and SOAP, and web "thinglets"
Squeak/Comanche is a stable, fast, and fully customizable platform!
After this presentation I returned to the Camp Smalltalk area which now since food was being served contained more people that I could count I lost it at about 68. I did manage to get Joseph Bacanskas and Dan Ingall together to brainstorm on envy lessons learned and Joseph's work with modeling Squeak's class usage.
------------------------------
STIC Smalltalk Industry council Meeting at OOPSLA www.stic.org
200 people plus/minus showed. This event did not go well but all parties learned something. After food and drink we got the introduction of the board members, Cincom, IBM.
Phil Hartley Executive Director then spoke
"Smalltalk produces the best projects".
"Smalltalk is best language for teaching OO".
"But Smalltalk has less of the overall market, we don't want to move away from the Smalltalk Market. There is a desperate need for good OO practices this is what STIC should do. One of the issues is that the OO vendors don't give us good OO tools. We need a voice to get back to IBM, SUN ? and should use STIC to drive feedback about OO technology back to the vendors and to broaden our scope and message."
The quote from the audience
(The) David Thomas: "I think that's bullshit".
Another "You can't embrace the industry, don't be like ObjectShare". (applause)
What fell out was that another survey will be done, because the results did not match the feelings of the people in the room. Please Contact Phil Hartley the STIC Director to ensure you get to contribute and to give him any feedback. I don't think all the attendees agreed with this direction, but you must be vocal to change things.
--------------------
8:30 The Squeak BOF.
About 90+ maybe 100+ people in attendance. Since this gets posted early and two more days exist Squeakers/Smallalkers don't be afraid to track these folks down to get personalized demos.
Michael Rueger m.rueger@acm.org
The construction kit used by Disney.
A GUIConstruction kit, he showed a color picker window.
The construction kit gives you a palette of tools to allow you to pick and drop into a canvas. The window has two panes, on the left is a hierarchy of widget specs, much like VisualWorks. On the right is the canvas you can drop things onto. The left pane also allows you to manipulate things and explore so it's more expressive than just a pallete.
An example
Getting a slider, first we need an aspect name, then drop the slider in and the widget is somewhat alive we can manipulate it. Then we compile the spec code and in a browser we see the new class we created that was compiled to create the Morpic window. This is a first cut, the specs are ugly and primitive but now we have a base to build upon. An idea would be to change the buildGUISpecs to XML and have an XML reader to parse the spec in order to compile the morphic.
Michael Rueger then showed the sub game.
This was going to go live on go.com. It's looks really neat you can't tell it's Squeak. Since this is a multiple player game we can find other subs, and shoot toy torpedoes at them, bubbles go up. Everything is done in 3d. The artwork was done in flash then rendered in Squeak, on a 500Mhz machine it does 40 frames a second. This is being run in the Epcot center since last September and banged on by millions of kids.
Alas this won't appear on go.com, but some of the code will be rolled into the update stream. All the heavy lifting is done by WarpBlt and Flash.
-----------------
Todd Nathan todd@palomablanca.net
In the last month I've gotten to teach kids about Smalltalk. Squeak seemed like the place to have fun, not the place were work could be. Even kids today recognize the fact that they will do Java day jobs and they don't want to do that at night. In southern Colorado, via Trinidad college this kinda accidentally happened where kids were coming into the lab to play and Todd started to teach them, so Todd introduces them to the PC, he has them go to Squeak.org and has them download Squeak and install. So far so good they've done that before with millions of games, then he has them do the tutorials. The kids and the parents are very happy.
-----------------
Yoshiki Ohshima
Passed out his handheld which Disney is seriously using for a current internal project. What is going to happen is a Disney guest will get one of these which among other things will show the Disney park map. The queue time in a line, your location, play games etc. Think about what you could do
Perhaps you could talk to other handhelds in the park, like the ones handled by your children? If this is successful then Disney will might use it in other areas. The outcome of this project that John Maloney had to write a different display framework to replace Morphic to make it very very compact, which is why he couldn't attend OOPSLA this week. They are using a 2.4 image and need to fit it all in 1MB or so of memory.
Yoshiki then showed his laptop, running Japanese Windows to explain multi-lingual Squeak.
Welcome to Squeak 2.8 Multilingualized (CJK)
There is a subclass of character, MultiCharacter, MultiString, a subclass of Collection, a variable word object.
He then typed in a string then converted to Kanji. The string was then becomed to MultiString. Although we couldn't say if it was correct we could see it's neat. You can't code in Kanji yet because Symbols don't work. "Play with me 5" was shown in Kanji. Yes it works too. Very neat. Then he showed Scamper and showed a web site from China. This was cool. Then off to a Korean web page. We got to learn what Smalltalk translated to in Korean.Some of the characters were small so we got a magnifier morphic and got to see more detail. Between some of the Chinese and Japanese characters there are differences, but there are some unicode problems if you don't have the codetable information. Yoshiki say we aren't using unicode, we are using 32bits ? (This I'm not sure about).
-----------------
Doug Way. http://www.mindspring.com/~dway/smalltalk/whisker.html
A new System browser for Squeak. A step forward. The original browser was a great step forward in its day. The other IDEs were using text windows. But there are some problems, you must switch between classes, and instances, you can't see everything. So time to change.
So enter Whiskers, a year of work.
Left side is a pane, we find a class. On the upper left is the class category hierarchy, uses drop down triangles. Below this pane we have the class hierarchy. The two panes are linked together so the class you choose is selected in both panes. To the right is the class properties. The comment, the definition, instance methods. Etc. If you select multiple methods it stacks up methods. A much better way to view things. Applause
Now we get another class and we stack another pane to compare the first class. Selecting the method stacks another pane. The panes attempt to size to avoid scroll bars. The algorithm attempts to show small methods at the expensive of the long methods.
He added in the type snooping logic so that if you look at the instance variables it will attempt to find an instance then find the classes of the instance vars and show them to you. Doug then attempted to squeeze in one more class. Then on to show some features like the different menus, much shorter based on the pane's contents. So not a long list of commands to choose from, just a smaller selection.
Questions, Refactory Browser -> someday
Context sensitive help for menu -> working on
Global variables -> not yet
Super class method -> yes, but hard to do.
Lots of questions and thoughts on how to change things.
-----------------
John Sarkela.
The Squeak World Tour.
Squeak is wild green, er pink, some smalltalkers come from the business world and want to build verifiable blue plane systems. Pink versus Blue. Say couldn't we do a fork and do a version of Squeak that is Stable. Ensure no undeclared references, you can recompile everything. Everything that crosses a class boundary is understood. Will build a tool to explore all this and to enable the merge back into the main Squeak.
So majorshrink, compile all and 91 references undeclared. The expense of doing this was painful. To solve the issues Joseph has come up with a system that can model a class in a running image. You discover Compiler knows about Morphs Gee that's a problem for headless images? Eric has given us a SIF module. SUnit test for exceptions and models, there was a Exception fix posted to the web that fixes and makes Squeak the only ANSI exception standard smalltalk. That's about the first offering from Hampton.
Craig Latta Craig.Latta@NetJam.ORG will do one in Silicon Valley in early November, John M McIntosh johnmci at this smalltalkconsulting domain will do one later on Vancouver Island.
Questions?:
Performance? -> Exceptions is better, but you can't see it at the user level.
-----------------
Jitter3 Ian
OOPSLA 1999 was quite a buzz. Not as much progress was made after this presentation as I had hoped, I sorry. The framework is the same, but I threw the byte code interpreter away.
Ian did a tinybenchmark and got
(well I couldn't read the tiny type). Then Ian and your scribe who was dragged in at the last moment with his powerbook did a compare of building a VM. Ian's image did run faster, but John's image finished first. Later I sat down with Ian, or should I say Ian dragged me to a chair and compared with disbelief and found the build on my machine ran faster, so puzzlement set in but promises were exchanged to compare notes/codes/guess etc the next morning since Ians testing showed a 3x-6x improvement in previous testing that afternoon. Now because your scribe had gotten his powerbook stolen for the demo Ian promised to review the material in more detail with me on Wed.
-----------------
John McIntosh's presentation
Yes your scribe has a day job. In Sept/Oct he built a MPEG version 2 level 3 plugin decoder for audio and video for Squeak for the Macintosh with ports for Windows and other platforms to follow based on Squeak community involvement.You can pick up the source code and the macintosh version here, thanks to Disney for funding this project
-----------------
Cosmocows Presentation
Drs. Mathieu van Echtelt mathieu@cosmocows.com
www.cosmocows.com
Mathieu showed us a video via a Squeak FFI class and the Microsoft video player. There was a successful childerns program in the netherlands which uses computers to teach children how to read, but not the way you think. The orginal non-squeak Application has three different platforms, one is the Internet where children can build a store based on a starting point from a renown author. The story board requires animation which was done by a 3d modeling tool. Each letter of the alphabit has specific emotions and actions. An example of a X waddling across the screen in three-d was given. This is actually a complex rich animated environment it's difficult to express in words, it's also in dutch just to make life difficult for your scribe. The winners of the internet competition play as different letters (at the TV station each week), Z, Y X, Q which have different behavior, motions and skills. The children use mice and eye motion detectors and radio linkage to work as a team to accomplish a task within a certain time interval.
In the example given the kids didn't make it and an eraser ate their letters
What is happening to cosmocows:
3 years to get subsidized.
Exploring Squeak
Thinking about how to handle different starters (visitors, users, tweakers, programmers)
Mainly working with Squeak 'instead' on Squeak
Visitors, they use browse the flash files
Users, they use scamper and other tools
Tweakers, basic programming
Programmers, more programming.
How to get kids on the internet to do this?
Lots of discussion, about this and what Cosmocows was doing. Their intent is to do version 2.0 of the environment but do it in Flash and Squeak. Very cool
So the BOF ended early this evening, at about 11:00pm. Another great BOF, very interesting things and I can't wait til 2001.
|