My talks at ESUG 2011

Hi guys. This is a short post to just let you know what I’ll be talking about at ESUG this year in Edinburgh, Scotland. I’ll give a total of 3 talks which are the following:

1) Fuel: Boosting your serialization.

Fuel is an open-source general purpose framework to serialize and materialize object graphs based on a pickling algorithm. Fuel is implemented in Pharo Smalltalk environment and we demonstrate that we can build a really fast serializer without specific VM support, with a clean object-oriented design and providing most possible required features for a serializer.

For more details please visit Fuel website:

I will give an introduction to Fuel explaining its pickle format showing some examples of how to use this serializer. Ahhh at the same time, I am submitting Fuel to the Innovation Technology Awards 🙂

I participate in Fuel in several ways:

– Fuel is being sponsored by ESUG SummerTalk and I am the mentor. The student and main developer is Martin Dias.

– I contribute with code and test.

– For my research/PhD prototype, I use Marea as the serializer.

2) Ghost:  A Uniform, Light-weight and Stratified Proxy Implementation

This talk is about the paper we wrote about a novel proxy implementation. I’ve developed Ghost proxies in Pharo Smalltalk and it is part of my PhD.

This toolbox provides low memory consuming proxies for regular objects as well as for classes and methods. Ghost proxies let us intercept all messages sent to a proxy, with clear separation between the layers of intercepting and handling interceptions. Ghost is stratified and does not use the common yet problematic #doesNotUnderstand: for implementing proxies.

For more info please read:

3) DBXTalk: Argentinian Connection.

DBXTalk is the complete and open-source solution to relational database access. It has been in development since 4 years already and it includes the following tools:

  • OpenDBXDriver: this is the database driver and it wraps the C library OpenDBX. This subset of DBXTalk was formerly known as SqueakDBX.
  • GlorpDBX: this is a port of VisualWorks Glorp plus some changes to make it work with different database drivers such us OpenDBXDriver.
  • DBXTalkDescriptions: it’s a tool to generate classes from tables and tables from classes, based in Glorp types. Also to generate GlorpConfiguration from Magritte descriptions. And a UI to make it easy to use.
  • DBXPlus: it’s a UI to visualize and browse databases without going out the image. You can execute sql query and review the results, browse into the defined tables and views, inspect the structure and the data stored.

Guillermo Polito, Santiago Bragagnolo and me (all part of the team) will give you an introduction to all those tools of the DBXTalk suite while showing real examples.

For DBXTalk, well…I was part of the authors. I have been actively developed SqueakDBX/DBXTalk and it is the open-source project I have spent more time in apart from Pharo. DBXTalk is used in several production applications and it has already it list of users.

For more info, check the links:

All the schedule of the talks are in here

That’s all for today.

8 thoughts on “My talks at ESUG 2011

    1. Hi Sean. Yes, there is. However, I still need to wait until Monday, when it is the deadline for the camera ready for IWST. So…after Monday, if you are interested, I am happy to send it to you and receive feedback 😉

  1. Fuel is very good stuff, I checked myself loading a Pharo VM and the Fuel inage. do you have plans to deliver a Squeak 4.2 compatible distribution?

    1. Hi Carlos. I tested Fuel in Squeak 4.2 and it was difficult to see whether it was working or not because Fuel uses traits, and traits were removed from Squeak. Nevertheless, it should be easy to port it because there is a way to flattening out traits, that is, each method that you get from a trait is put in the methodDict of the class. Eliot Miranda took Fuel and he ported to Newspeak. Read this:
      and this:

      So…I am sure it is portable to Squeak, but I don’t have that time right now. I really encourage someone to do it and I am willing to help. There is only one thing that won’t work but it is not used in 99% of the cases, and it is the fact that Fuel supports to serialize classes and traits “in real”, not just storing a global name and then search it in Smalltalk globals. Fuel can serialize classes and traits completly, taking care about metaclasses, etc. But it is not common to need that. 99% of the cases when there is a class you want to just store to the global name and you assume that such class will be present in the image where you materialize.


Leave a Reply