TALKS

November 6 - Salón Auditorio Nicolás Casullo

9:30

Inferring Generic Types for Collections using LiveTyping

LiveTyping is a technique where the VM collects type info that is used to improve tools such as the autocomplete, the refactoring scope, etc.  LiveTyping is not able to collect a generic type for those classes that use them such as collections.

Research has been done in two different thesis to add support for generics. The first one opened the door to the second one, done by Adrian Castiglione, that uses type inference based on the type information collected by LiveTyping, providing generic type information to the tools with great success.

In this talk I'll show Adrian's work, how the inference was implemented and how the tools use that information.

Hernán Wilkinson

10:00

Supporting GemStone/S 64 alongside Pharo for the Buenos Aires Smalltalk ecosystem
A recap of our experiences and lessons learned adding support for GemStone 64 to several of our open source projects in the Buenos Aires Smalltalk ecosystem.

Gabriel Cotelli

11:00

Keynote: Moldable Development patterns
Moldable Development is a way to support decision-making by molding the development tools and environment to your problem, thus making the domain concepts explainable. Not only does moldable development require live and customizable technology, to apply it effectively it is also important to understand exactly when and how to mold the environment to your domain. We present a set of moldable development patterns that can guide the process of building explainable systems.

Oscar Nierstrasz

14:00

Pharo Update
In this talk I will present the Pharo 11 release. Pharo 11 got released in May 2023. It includes many improvements.

Esteban Lorenzano

14:30

Testing a new programming approach with 11 and 12 year-old children
I present a new language and tools that enable a novel programming experience for children. They draw their own symbols and drag and drop them to define programs. This provides a direct experience of what is considered the essence of computing: symbol manipulation. In an intuitive and simple manner, children can evaluate visual expressions in a live REPL console, visualize the execution of their own program, define their own control flow notation, and define basic types like booleans and integers.

I will talk about the use of this technology in a classroom context with 11 and 12-year-old children. This experience has led to a new version of the programming and simulation tools that I will show in this talk.

Agustín R. Martínez

16:00

What is the Viewpoints Intelligent Archive? What you can find in it, and what we can do to make it grow?
Yoshiki Ohshima will present the Viewpoints Intelligent Archive. The Intelligent Archive (tinlizzie.org/IA) is a collection of videos and writings by Alan Kay and other members of the Viewpoints Research Institute. The video collection ranges from 1972, when Alan Kay gave a talk titled "Computer Applications: A Dynamic Medium for Creative Thought," to his Turing Award Lecture in 2004, and includes recent talks captured in various formats. Yoshiki will discuss the origins of this project and show some clips from intriguing videos. Furthermore, he will elaborate on how he recreated the software demonstrations that were not captured in some of the videos.

Yoshiki Ohshima

16:30

Bioinformatics with Pharo
In this presentation, I showcase a series of Bioinformatics workflows that have been developed using BioSmalltalk, a collection of libraries and tools tailored to the needs of bioinformatics research and analysis, implemented in Pharo. We explore the applications of BioSmalltalk in various domains, including sequence analysis, population genetics and Bioinformatics visualizations.

Hernán Morales

17:00

Valores y Objetos: bienvenidos a la Torre de Babel
This talk is in spanish
En el ámbito de la programación es muy común que se usen términos como Entity, Service, o Value Object. Lo que no es tan común es tener discusiones conceptuales sobre los mismos. ¿De dónde surge la necesidad de entender a nuestros objetos a partir de “estereotipos”?Creemos que es crucial tener una base conceptual que justifique la existencia de los términos técnicos que forman parte de nuestro vocabulario de trabajo. La alternativa sería la arbitrariedad.En esta charla vamos a desarrollar una visión crítica hacia estos términos, tomando como ejemplo el uso de Value Object

In the context of programming it is rather usual to hear terms such as Entity, Service, or Value Object. It is not common, though, to have conceptual discussions about them. Where does the need to understand our objects in terms of “stereotypes” come from?We believe that it is crucial to have a conceptual foundation that justifies the existence of the technical terms that are part of our vocabulary.In this talk we want to develop a critical vision of these terms, taking as an example the use of Value Object.

M.Prieto, F.J.Gelatti

November 7 - ROOM 260 (FIRST FLOOR - ESPACIO MADRES)

9:00 a 12:00

14:00 a 18:00

Camp Smalltalk 

Coordinated by Hernán Wilkinson

November 8 - Salón Auditorio Nicolás Casullo

9:00

Proofreading assistant (in Smalltalk)
As a hobby, I do some proofreader/editor jobs and at some point, I programmed this little tool to help me.

Carlos E. Ferro

9:30

Quick, build me a desktop app!
In this talk we will show the tools to build and package a real life desktop application with Pharo 11.

Esteban Lorenzano

10:00

Revisiting the Dynabook concept
Within Cuis, revisiting the Dynabook concept from a teacher and student perspective. How to build a model centered around both pedagogical and learning management

Hilaire Fernandes

11:00

RAD with templates, htmx and stateless Smalltalk images
An experience report based on an experiment of a simple framework to facilitate Rapid Application Development, friendly to designers via use of templates, powerfully interactive via htmx and scalable via a stateless usage of Smalltalk.

Sebastian Sastre

11:30

Pharo AI
Over the past few year, support for Artificial Inteligence in Pharo has improved: Pharo-AI is a collection of objects for doing Machine Learning, Graph Algorithms and other Artificial Inteligence related topics. This presentation aim to explain the modular architecture of the library, the learning resources and the latest improvements.

Hernán Morales

14:00

Cuis Refactoring: Status Update
Many years ago we decided to write the automatic refactoring in Cuis instead of porting the Refactoring Browser code as Squeak and Pharo did. We have many new implemented refactorings and new features in the current ones. In this talk I'll show the improvements and new refactorings we have.

Hernán Wilkinson

14:30

Behind the scenes: The Making of VAST
You've probably already heard much about how organizations develop and deploy Smalltalk applications, but how is a complete Smalltalk platform made? In this talk, get a behind-the-scenes look at how Instantiations creates the VAST Platform. We'll discuss how we successfully develop, test, benchmark, and build a commercial Smalltalk platform like VAST.

M. Martinez Peck

15:00

From On-Premise Server to Scalable Containers in the Cloud

An On-Premise Server is not the best when it comes to scalability, reducing the impact of a system failure on application availability, and being cloud-ready. So how can we change that? With an architecture similar to microservices running in containers. But transforming a Smalltalk application running on premise into scalable containers in the cloud is no easy task.

That's why in our talk we would like to explain how we were able to achieve it by exploring tha phases we went through:

G.Rodriguez, E.Rotiroti, D.Palmitesta, E.Bacelar

16:00

Hands-on Moldable Development Workshop
Moldable Development is a way of programming in which you construct custom tools for each problem. The Glamorous Toolkit is a platform that supports moldable development by offering live and customizable software development tools. Unlike classical IDEs, GT emphasizes incremental development while exploring live domain objects. In this interactive workshop, we will work together with participants on live case studies to illustrate moldable development practices and patterns.

Oscar Nierstrasz

November 9 - Salón Auditorio Nicolás Casullo

9:00

Towards a different Smalltalk
Alan Kay's vision of Smalltalk was to facilitate the creation of new ideas, as opposed to merely the repeating of more-of-the-same. A given Smalltalk would be *one* possible Smalltalk, and at the same time it would be a kit enabling the construction of *any* imaginable Smalltalk. There would be no difference between applications and the system, and the tools would allow you to create a different Smalltalk as easily as a new application. One famous example, is Larry Tesler building the browser in an hour. Opposite to this, almost every Smalltalk today is fundamentally the same Smalltalk-80; almost every browser today is fundamentally Larry's browser.We have grown bored of this. For a few years we have been working on a kit for constructing new Smalltalk systems. In this talk we invite you to join us in building a different Smalltalk which is not a Smalltalk-80. It is a Smalltalk that you can afford to break; instead of enforcing one computational paradigm of unidirectional computation of data "from questions to answers", our Smalltalk reasons about arguments in a bidirectional/equational way; and instead of presupposing the traditional "general-purpose computer" hardware — thus limiting objects to be emulated by sequential processing over "structs" of bytes in memory — our Smalltalk can exploit a multitude of computer structures.

Boris Shingarov

9:30

Continuing VAST's Unicode Transition: Database Support
In this talk, we'll explore the implications of integrating Unicode support into VAST's database libraries and the Glorp ORM. Beyond our specific implementation path, we will offer a comparative exploration of how encoding and codepages are managed across different database platforms. Attendees will gain an understanding of the challenges, strategies, and how to get the most out of Unicode when dealing with databases.

Esteban A. Maringolo

10:00

Bloc for Pharo: object-oriented UI foundations
Bloc is a graphical UI library that provides a foundations for building widget and visualization libraries. This library has several years of development. Since 2021, we started to work on a version of Bloc to be included in Pharo. This version requires clean core features, and stability.We created Alexandrie, a new low-level canvas that uses Cairo with focus on performance. It achieves its goal by calling the Cairo API as it is recommended by industry. Alexandrie requires few dependencies and uses Cairo which is stable and widely (e.g. Gnome, GTK+4).I will demo the library, and present its current state and the future perspective.

Martín Dias

11:00

Keynote: Kids programming with Smalltalk
Discover how junior high school students are programming geometric sketches with Dr.Geo's Smalltalk programming interface.

Hilaire Fernandes

14:00

Instantiations Company Update & VAST 2024 Preview
Instantiations is committed to continuing investment in the VAST Platform and ongoing involvement with the Smalltalk community. Get an update on our progress, and see where we’re headed in the near future. Plus, get an overview of the features coming to VAST Platform 2024!

Seth Berman

14:30

SONIC: Towards A Sea-of-Nodes Inlining Compiler for Smalltalk in Smalltalk
Graph-based inlining compilers are the core of high-performance VMs that support dynamic object-oriented languages and alike. V8 turbofan, HotSpot C2, and Graal, among others, are examples of these kind of compilers. In this talk we delve into our efforts to comprehend Sea-of-Nodes compiler technology

Javier Pimás

15:00

A year with Tinyrossa
Over the last year, the Tinyrossa compiler library hasevolved from a quick experiment to the compilertechnology for the Smalltalk-25 project. In thispresentation we'll demonstrate advances in Tinyrossaand how it fits our ultimate goal of formally verifiedSmalltalk runtime.

Jan Vraný

November 10 - Salón Auditorio Nicolás Casullo

9:00

Our Core. Deep In The Motherlode
ORM Model to DB solution implemented in our core.


Jorge Sagasti

9:30

Bootstrap: Creating Minimal Images from Scratch
The last ancestor of Cuis Smalltalk that was bootstrapped from scratch was Smalltalk-76. Since then, various released images of Smalltalk-80, Squeak and Cuis were derived by applying updates to the previous one. A new tool called 'Bootstrap' allows the creation of minimal Smalltalk images from scratch. 

Juan Vuletich

10:00

Super fast text searches: Find anything instantaneously
Code search can be slow and frustrating, even when developers don't know the exact code they're looking for.In this talk, I will present a tool that performs super fast text searches, even with fuzzy matching, and show how easy it is to apply the technique used to implement it.This tool can make text searches faster and more efficient, even in scenarios where instant feedback is required, like searching for code and any kind of text as well.

Nicolás Papagna

11:00

Keynote: An introduction to Croquet Microverse and its relationship to Smalltalk
Yoshiki Ohshima will demonstrate Croquet Microverse, a 3D collaborative construction environment. Microverse is an incarnation of Smalltalk-based Croquet but implemented in JavaScript. It allows a group of users to collaboratively create new objects in a virtual space. More importantly, users can change objects' behaviors in a live programming manner.The design of the Microverse system is largely inspired by the authors' experiences in Smalltalk and related systems. For example, the object extension mechanism used in Microverse heavily influences past class and object extension mechanisms, such as PIE and Traits. Similarly, the architecture of the Microverse application framework draws upon other frameworks, like Morphic and AppKit. Yoshiki will explain the connections between those systems and Microverse.

Yoshiki Ohshima

14:00

GemStone Roadmap
An update on GemTalk Systems and the GemStone/64 product.

James Foster

14:30

DynamicCuisLibrary: a lightweight, platform-independent framework for sharing Smalltalk code
DynamicCuisLibraries require almost none of the Smalltalk space where shared code will be installed.The spirit behind the design is to keep what is necessary to receive the code to a minimum: even the compiler is not needed for creating libraries and installing them.A tool emerging from this framework would define a clear and simple format for libraries and a straightforward sharing mechanism.

Felipe Zak

15:00

PowerlangJS: The tale of a Smalltalk that runs on top of JavaScript and can be developed remotely from a browser
In 2022 we showed a Smalltalk VM that let's run a Smalltalk on top of JavaScript. Since then we have made it possible to browse, debug and inspect it, locally or remotely, through Webside framework. This talk will show how the full setup works, looks and feels.

Javier Pimás

16:00

Workshop: Develop end user GUI application with Cuis
How to build an end user application with Cuis, from your customized IDE to the application bundle. During the presentation, you will get an overview about: 

The Dr. Geo application will illustrate the presentation.

Hilaire Fernandes