November 6 - Salón Auditorio Nicolás Casullo
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.
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.
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.
In this talk I will present the Pharo 11 release. Pharo 11 got released in May 2023. It includes many improvements.
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
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.
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.
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.
November 7 - ROOM 260 (FIRST FLOOR - ESPACIO MADRES)
9:00 a 12:00
14:00 a 18:00
Coordinated by Hernán Wilkinson
November 8 - Salón Auditorio Nicolás Casullo
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
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.
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
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.
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.
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.
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
From On-Premise Server to Scalable Containers in the Cloud
G.Rodriguez, E.Rotiroti, D.Palmitesta, E.Bacelar
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.
November 9 - Salón Auditorio Nicolás Casullo
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.
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
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.
Keynote: Kids programming with Smalltalk
Discover how junior high school students are programming geometric sketches with Dr.Geo's Smalltalk programming interface.
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!
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
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.
November 10 - Salón Auditorio Nicolás Casullo
Our Core. Deep In The Motherlode
ORM Model to DB solution implemented in our core.
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.
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.
Keynote: An introduction to Croquet Microverse and its relationship to Smalltalk
An update on GemTalk Systems and the GemStone/64 product.
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.
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:
managing your code in various repositories
The Dr. Geo application will illustrate the presentation.