Making the Most of User Changes by Leandro Caniglia

(Work co-authored with Valiera Murgia).

As the Smalltalk programmer compiles methods, evaluates expressions, creates new classes, etc., the environment logs all these actions in a changes file. Logging is not a novel feature though. The important thing is that Smalltalk logs are not just human-readable information; they are made of chunks of loadable scripts that may replay the same actions that originated them. This mechanism has several applications: recover work in case of crash, search through the methods' history, share source code, etc. This talk reports the experience of having used the same mechanisms to log and repro- duce end-user changes. The diversity of commands grows with the complexity of the software. Therefore, user change logs are richer than Smalltalk logs, and even though the central ideas remain fruitful, solving the problem with all generality is not trivial. Be- sides explaining implementation details, we will go through a remarkable variety of appli- cations, some of them unthinkable when the authors first introduced this functionality into the PetroVR tool-suite four years ago.

Valeria Murgia has served since 2001 as solution architect and development lead for Caesar Systems, a leading company in the field of business simulation software. She is an expert in Smalltalk and GemStone technologies. Since 1990, she has conceived, de- veloped and maintained mission-critical systems for government and private business in South America. Although she holds a Mas- ter of Science degree in computer science, she has also com- pleted graduate studies in mathematics and music composition. She is the author of GemSqueak, a completely refactored open source GemStone client for the Squeak multi-media environment. Leandro Caniglia is the director of development of Caesar Sys- tems. Prior to this, he had worked as a Smalltalk consultant for several companies in Argentina, Brazil and Chile. He was professor at the University of Buenos Aires from 1979 to 2001, and also worked as a researcher at CONICET, the official board for scientific research in Argentina. In 1997 he co-founded the MathMorphs Squeak User Group and the Smalltalk User Group of Argentina (SUGAR). Starting in 2007, Caniglia is member of the organizing board for the Annual Argentine Smalltalk Conference.

Video: Youtube