[squeak-dev] DeltaStreams at ESUG in Brest

Göran Krampe goran at krampe.se
Sun Sep 6 12:07:19 UTC 2009


Hi folks!

Back from Brest and a GREAT conference. This post is not about the ESUG 
conference though (I could write a lot about that) but about 
DeltaStreams that I presented and worked hard on while being there.

We had a lot of interest in it, and not only from Squeakers. 
Unfortunately my presentation collided with Lukas/Seaside so many missed 
it. Slides are here:

http://www.slideshare.net/esug/deltastreams

...and perhaps a movie is available somewhere, dunno.

Status:

- Igor joined me and it was real fun to finally meet in real life and 
work together. Igor is now working on a Toolbuilder based UI for Deltas 
using TestRunner as inspiration for code etc.

- I hooked in Tirade fully. This means Deltas can now be filedOut and 
read back in using Tirade format. This is also covered by some smart 
tests written originally by Matthew Fulmer. Simplified Tirade in the 
process.

- We fixed lots of Delta tests and the tests are now almost fully in the 
green. Hopefully in a few days more I can say 100% green.

- We moved over development from 3.10.2-7179 to trunk! :) Not a big deal 
actually but we also turned the base patches into MCs so you can 
actually pull DeltaStreams into trunk by loading one MC, and then 
running a single liner that uses Installer to pull in the rest.

- We added code for tracking DoIts and I almost burned my braincells 
figuring out a *sensible* way to deal with them. This is an interesting 
area... I will post separately I think :)

- Lots and lots of other details, don't remember them all.

- We also talked a lot with Pharo people about our dependencies. Deltas 
so far depend on four important pieces:
	- SystemChangeNotification and the event classes for it.
	- SystemEditor mainly written by Colin Putney for MC2.
	- Toolbuilder for UIs.
	- Tirade for serialization.

We hope these dependencies will be kept up to date in most Squeak flavors.

The change notification stuff originally written by Roel Wuyts is a bit 
messy, but it works. It could be rewritten using Announcements or 
whatever (Stephane wants that) but if we do that then we really need to 
make sure ALL Squeaks do it together. Otherwise we are going into a 
"world of hurt" for building cross fork tools.

SystemEditor works in trunk, although has 11 failures. I think it is 
broken in Pharo, haven't looked closer yet.

Toolbuilder is of course kept up to date in trunk by Andreas (I guess), 
I hope that Pharo will sync those changes?!

Finally Tirade should work fine in all Squeaks and probably other 
Smalltalks too, just vanilla code. And since it is my code I can make 
sure it does work wherever we want Deltas to work :)

Now, regarding these dependencies - Toolbuilder is of course just for 
the UIs. Deltas can still be used in a Squeak without Toolbuilder. 
Tirade is "just" for serialization, but hey, that is kinda useful :)

And if SystemEditor does not work (does it work in Cuis?) then we will 
need an extra applier written that uses the "regular style" for messing 
with classes. That should not be hard to do, just mimic what a Changeset 
does more or less. And I have had that on the todo list for a while.

regards, Göran




More information about the Squeak-dev mailing list