On Sun, Jan 8, 2012 at 11:15 AM, Guido Stepken <gstepken@googlemail.com> wrote:

Hi Mariano!

Love it, great work!

Love objects StOMPing, rSTing, Fueling around between images at runtime.

Do you have examples how to realize realtime mirroring (HA) with it?

No I don't. But I guess we have the bases/infrastructure for that. From what I can tell you with Fuel, you can export contexts, closures, classes, traits, compiled methods, etc. So at least from the serialization point of view, that should be working.

Not exactly the same, but just to show you, in ESUG 2011 I showed how I could serialize a living debugger from one image, open it in another one, and continue debugging from there...having the state and everything. Then I also showed how I can save the state when an error happens (PharoDebug.fuel in addition to PharoDebug.log) into a file and debug it later on in the same or another image. In fact, Esteban Lorenzano was trying that for a real app. Instead of sending logs the client send a .fuel of the serialized context.

Dave Lewis said Fuel could be used for RemoteTask: http://wiki.squeak.org:8080/squeak/6176

Nick Papoylias (PhD just next to my desk haha) is working with rST and he may use Fuel as well for the serialization part. But not sure what he will exactly do with rST. He have several things in mind like remote debugging :)

Maybe someone has done something more. That's all I know.

Cheers

tnx in advance, Guido Stepken

Am 07.01.2012 23:25 schrieb "Mariano Martinez Peck" <marianopeck@gmail.com>:

Hi guys. Now you can use FileSystem streams for Fuel. Fuel only needs one small package 'FuelFileSystem' which has just 3 extension methods, and that's all ;)
There is also 'FuelFileSystemTests' which let's you run all fuel tests using FS. If you want to do that, change FLSerializationTest >> setUp to send #useFileSystemFileStream� rather than #useStandardFileStream and that's all.
To install:

Gofer new
��� squeaksource: 'MetacelloRepository';
��� package: 'ConfigurationOfFuel';
load.

(ConfigurationOfFuel project version: #bleedingEdge) load: 'withFS'.

An example:

��� | sourceArray loadedArray serializer stream materializer |
��� sourceArray :=
��� ��� Array
��� ��� ��� with: 'a string'
��� ��� ��� with: Transcript
��� ��� ��� with: [ Transcript show: 'a string' ].
��� "Create a file and serialize on it"
��� stream := (FSLocator imageDirectory / 'example.fuel') writeStream.
��� serializer := FLSerializer newDefault.
��� serializer serialize: sourceArray on: stream.
��� stream close.
��� "Load from the file"
�� stream := (FSLocator imageDirectory / 'example.fuel') readStream.
��� materializer := FLMaterializer newDefault.
��� loadedArray := (materializer materializeFrom: stream) root.

Cheers

--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com