Design a site like this with
Get started

Daily Events

There are a variety of seminars and workshops for Smalltalk. Here are the schedules…

Day 1 — Friday

9:00Static-Type Inferencing Smalltalk for Application Code AnalysisDynamic typing in Smalltalk is one of its many strengths. It does, however, present challenges during maintenance, refactoring, and migration across Smalltalk dialects, and especially to other statically typed programming languages such as C# or Java.
At Synchrony, we developed a type inferencing engine and an environment with a complete Smalltalk type system containing parameterized types and interfaces that transform a dynamically typed Smalltalk source to a statically typed Smalltalk source. This significantly improves Smalltalk program understanding and enables more complex transformations of Smalltalk software.
In this session, we’ll demonstrate some of the inner workings of the type inferencing environment and show how it enables precise Smalltalk static analysis and transformation.
Slavik Zorin
10:00Keynote: Smalltalk for Profit and for PlaySince the release of Smalltalk-80, Smalltalk has been used for commercial projects and for personal fun.  David will present some of the ways Smalltalk has been used in industry to manage assembly lines, control manufacturing systems, handle insurance, manage businesses and enhance security.  On the other hand, Smalltalk has been used for fun projects like games, graphics, music, toys, and puzzles.  In this talk, David will present some of the many projects that were implemented in Smalltalk.David Buck
11:00Metatools, hacktivism and grassroots innovation, powered by PharoSmalltalk has been usually developed and deployed in the contexts of computer science research, business and children/university education. But what happens when the contexts for “Smalltalk resonances” are a hackerspace, a PhD research in arts and humanities and critical code/data literacy for young adults and adults, with a diverse background?

This talk showcases the work done, since 2010 to today, approaching the research question about “How can we change the digital tools that change us?”. It will show how we, at the local community, explored the reciprocal modification between digital tools and communities, via curating, interconnecting and developing a set “pocket infrastructures” and community practices around them and we how use/modify the Grafoscopio metatool to document, define and describe digital tools (including itself) and their workflows. Also, it will show the prototypes we build in the previous exploration to amplify civic voices and grassroots agency including: performative writing and (re)publishing, agile data storytelling and visualization, data feminism, civic hacktivism, reproducible research, making “Big Data” approachable, hypertextual resilient community and interpersonal memory and presences, among other topics.
Offray Luna-Cardenas
12:00LunchFree T-shirts! Refreshments.
13:00VS Code as a Smalltalk IDEWhile the Smalltalk tools that we know and love are an integral part of what makes Smalltalk so productive, they constitute another cognitive barrier for those coming to Smalltalk from other languages. Most developers are comfortable using tools like Microsoft’s open-source VS Code, and since these tools are largely consistent from one language to another this reduces the learning curve of going from Python to Dart (for example).

In this presentation we look at a proof-of-concept for using VS Code with GemStone Smalltalk. We can log in, browse code, evaluate expressions, and maybe more. Find out what was learned in this exercise and how it might be applied to other Smalltalk dialects.

Bio: As a junior-high student in 1971, James discovered the local university’s computer lab and learned Basic, Fortran, and assembly. After trying other careers (commercial aviation and law), he returned to computer programming and fell in love with Smalltalk in the 1990s. He is VP of Finance and Operations at GemTalk Systems and teaches Computer Science at Walla Walla University.
James Foster – GemTalk Systems
13:30Company Update & VAST 2022 OverviewGet an update on our progress over the past year, and where we are headed in the near future. Plus, learn more about the new features just released in VAST Platform 2022, including our advanced Unicode implementation, ARM processor support, OpenSSL 3.0, and asynchronous streams/zones.Seth Berman, Greg Schultz -Instantiations
14:00Beyond Modernization: VAST’s Advanced Unicode ImplementationUnicode can be quite complex, so we set out to implement a truly ergonomic Unicode experience for Smalltalk. Through extensive virtual machine improvements and the inherent memory-safety of Rust, we created a stable implementation that is not only easy-to-use, but also highly performant and featuring full character visualization in the VAST IDE (like support for emojis)! Join us as we discuss our methodologies and why we chose to go beyond basic Unicode support, and instead design an advanced implementation that prioritizes “Unicode Correctness”.Seth Berman – Instantiations
15:00Intro to Asynchronous Programming with VASTWhether you’re interested in starting a new Smalltalk project or enhancing existing systems, asynchronous programming offers a great way to optimize application speed and help ensure maintainability as complexity increases. We’ll discuss the asynchronous programming approach, why it’s important, and show live demos in the VAST Platform of how to get started with futures/promises and asynchronous streams/zones. Attendees are encouraged to follow along with their own computers and ask questions.Mariano Martinez Peck – Instantiations
16:00Civic Tech via pocket infrastructures and agile data storytelling and visualizationInfrastructures organize/accumulate actions and embed contexts. So, by curating, interconnecting and deploying alternative digital infrastructures, we give account of different contexts and explore/inhabit alternative futures, resulting from accumulating/organizing actions in a different way.

Our pocket infrastructures are local first, simple, extensible, interconnected and executable in a huge range of hardware, from thumb drives to laptops and servers. They also embody a contrast/critique towards centralized, massive, resource hungry, “always connected” infrastructures from the Global North.

In this workshop we will approach several of the techniques and tools showcasing how we use Pharo/Lepiter to deploy and interconnect several of our “pocket infrastructures” (Fossil, TiddlyWiki, Markdeep, among others) and how we use them to amplify interpersonal and grassroots memory and agency via metatools and data stories/visualization, with simpler apprach and less footprint that the most common known tools in such endeavors.

This workshop is complementary and interdependent to the proposed seminar “Metatools, hacktivism and grassroots innovation, powered by Pharo”. In case both proposals are accepted, attending the first to the seminar and then to the workshop is advisable. Having a previous installation of Glamorous Toolkit / Lepiter, before the workshop is a prerequisite to make the most of the hour long workshop.
Offray Luna-Cardenas
17:00Building Modern Web Applications with GemStone SmalltalkMost Smalltalk environments suffer from the limitations present in other programming languages: you are limited to one operating-system process on one host, you are limited to the memory available on your machine, and persistence is available only through an external database. There is one Smalltalk environment that does not have these limitations, and that is GemStone.

GemStone provides an ANSI Smalltalk programming environment where thousands of virtual machines share an object space limited essentially by available disk space and interact with those objects using database transactions. This makes GemStone an ideal environment for scalable web-based applications.

In this workshop we will walk through the basics of creating a web application using GemStone Smalltalk for the back-end (including AJAX and WebSockets) and Flutter (or any other modern client framework) for the front-end.

Bio: As a junior-high student in 1971, James discovered the local university’s computer lab and learned Basic, Fortran, and assembly. After trying other careers (commercial aviation and law), he returned to computer programming and fell in love with Smalltalk in the 1990s. He is VP of Finance and Operations at GemTalk Systems and teaches Computer Science at Walla Walla University.
James Foster – GemTalk Systems
18:00XEnd of day.

Day 2 — Saturday

9:00GemStone Update and RoadmapAn update from GemTalk Systems including a company overview and GemStone/64 product roadmap.Norm Green – GemTalk Systems
10:00Keynote: Smalltalk research through the eyes of an educational missionThe critical idea behind the invention of Smalltalk was that it would be the software solution to a personal, accessible device called the Dynabook. This handheld device would be a new medium in which people could share both their understanding of how something works, and, where appropriate, be challenged as to whether that understanding approximated reality. The Dynabook would offer children a thinking partner with the modeling capacity to test ideas and upend how we educate the next generations. The mission is not complete, but how far did we get? And is the mission still critical? In this presentation, I will attempt to answer these questions.Adele Goldberg
11:00Keynote Q&AAsk any questions of Adele!
11:30Everyday VM development with GDBThe GNU Debugger, GDB, was originally designed as a source-level debugger for compiled C, C++ and Fortran programs. As such, it has been considered as a “tool of last resort” by many dynamic language developers.
As the world has moved more towards dynamic languages, a need for better support become more pressing. Over past years, there have been continuous effort in the community to bridge the gap and make debugging of mixed C/C++ and dynamic code simpler and approachable.
In 2018 in Cagliari (Italy) I have shown some aspects of this support for dynamic languages. I have demonstrated that one can conveniently
inspect objects, easily see calls from dynamic language to external (C/C++) libraries or (C/C++) runtime and back and so on.
However, back then I have skipped one important topic: how to deal with dynamically-compiled code (JIT) using custom calling convention and how to map machine code to source so that programmer can use standard GDB commands to debug.
In this talk, I will outline a new GDB Python API that is being developed to address this issue. I’ll also show an example how to use this API on a real, modern mixed-mode VM.
Jan Vraný
12:00LunchFree giveaway! Refreshments, including birthday cake!
13:00Beyond Smalltalk-80In this talk we share our experiences along a multi-year journey which started from the revelation that Smalltalk-80 and Smalltalk are fundamentally different things.  At that point we set out to build a Smalltalk system, enabled by a number of modern factors such as vertical open source, economy of scale etc.  Along this road we had many false starts as well as many high points.  This talk invites you to join our journey!Boris Shingarov
14:00Keynote: Limbo: Inter Personal ComputingTrend 1: Deployment frequency has been doubling regularly for decades. Trend 2: Smaller changes are safer. Put them together & you have Limbo, tiny changes instantly deployed. What principles are required to build Limbo? What technical & (more importantly) social changes are required? (Since this is a Smalltalk audience, what would it look like if we all inhabited a single shared image?)Kent Beck
15:00Keynote Q&AAsk any questions of Kent!
15:30PigeonTalkDavid presents a new educational tool project conceptually similar to MIT’s Scratch and Google’s Blockly but breaking new ground.David Buck
16:00Smalltalk FutureIn this talk I will discuss the “future” of Smalltalk, demonstrating that it hasn’t sat on its Smalltalk 80 laurels, including alternate syntaxes, alternate semantics, alternate types, alternate development models, and alternate targets. Examples will likely include functional-programming extensions for Pharo, Newspeak, traits, slots, Strongtalk, type inference, PharoJS, Zag, WASM, and GNU-Smalltalk.Dave Mason – CS Chair, TMU
19:00Celebration Banquet

Day 3 — Sunday

9:00Sparkle: Let’s Annoy Users DifferentlyIf you’re setting out to develop a Smalltalk IDE from scratch, what design decisions do you make? You’d love to “fix” the things that have long annoyed you in existing IDEs, but new designs risk creating their own novel annoyances.
The Sparkle project-in-progress is creating a new and not entirely conventional development environment for GemStone Smalltalk. Come see factors that have influenced its design, get a demo of the current state of the tools, learn about the project’s next steps, and share *your* IDE annoyances.
Martin McClure – GemTalk Systems
10:00Keynote: A Few of My Favorite ThingsDan will talk about Smalltalk’s evolution from Smalltalk-72 to Squeak,
stopping to point out and demonstrate some of his favorite artifacts.
Dan Ingalls
11:00Keynote Q&AAsk any questions of Dan!
11:30Remote Service ReplicationRemote Service Replication offers a simple way of communicating between heterogeneous Smalltalk systems. It provides remote message sends, constrained object replication, and simple service lifetime management. It powers Sparkle, a GemStone IDE for Pharo. It supports GemStone, Pharo, and Dolphin but is portable to other dialects.Kurt Kilpela – GemTalk Systems
13:00Live Metacircular Runtimes: Evolving Smalltalk VMsWith Bee we showed that it was possible to have a lively-programmable Smalltalk VM as fast as a traditional JIT-based one. We are now showing our work on its next iteration, making it leaner, faster, safer, more portable, approachable and live.Javier Pimás
14:00De-coupling Smalltalk Applications for GUI Migration to Popular Web FrameworksSmalltalk’s versatility, simplicity, and elegance allowed developers to build sophisticated applications to manage and run business-critical processes. Yet today’s advances in modern web technologies and industry’s demands for more interactive digital experiences have put Smalltalk applications under pressure.
This session will cover how to de-couple Smalltalk applications to preserve the back-end business logic while transforming the front-end UI to modern web technologies. We will feature case studies of commercial Smalltalk applications that underwent a Smalltalk GUI migration while preserving the back-end functionality and design.
Slavik Zorin
15:00Theorem Proving in SmalltalkThe invention of the computer has turned many computational problems that were regarded as “computationally-unsolvable”, into “computationally-easy”.  However, large classes of practically-important problems were still seen as being forever out of reach for computers no matter how much increase in power may be possible by advancing the technology (for example, a problem may be undecidable or exponential).
The first two decades of the 21st century saw progress in computer algorithms arguably comparable in significance to the invention of computer itself: practically-important instances of the above-mentioned intractable problems fall within “solvable cases” for which we now have fast algorithms.
These new algorithms have caused a major shift in the design of programming languages, moving away from pointwise calculation and towards practical approaches such as abstract interpretation, which previously were considered mostly theoretical.
In this talk, we present MachineArithmetic, an abstract interpretation engine for Smalltalk.  MachineArithmetic uses refinement logic to implement Martin-Löf dependent types over Z3 (an SMT solver from Microsoft).  Even though automated reasoning in Smalltalk is exciting on its own, our motivation for writing MachineArithmetic were the purely practical needs of developing a Smalltalk runtime for modern computer architectures such as RISC-V (for which informal methods break down due to reasons such as weak consistency).
Because MachineArithmetic is open-source, we adopted a hands-on approach for this talk.  Bring your own laptop, and let’s play with some proofs together!
Boris Shingarov
16:00Cuis: Smalltalk-80, 25 years laterThe original goal of the Smalltalk project at Xerox in the 70’s was to turn a computer into a personal tool for learning, creating, and expressing knowledge. Smalltalk-80 was the culmination of this project. Later Smalltalk system focused mostly on application development or language research. The last direct descendant, true to the Smalltalk-80 goals, was Squeak Smalltalk. This original Squeak was developed between 1996 and 1999 by several of the original Smalltalk developers, led by Alan Kay and Dan Ingalls. Squeak later made its focus to become a platform for education, drifting away from the design principles that had guided Smalltalk-80. Cuis Smalltalk was derived from Squeak in 2004, and ever since has evolved into a modern incarnation of the Smalltalk-80 spirit.Juan Vuletich
17:00XEnd of Camp Smalltalk Supreme.

In addition to the seminars and workshops, there will be a celebration banquet (by invitation only), as well as free T-shirts, swag, and birthday cake.

Actually, I made up the term “object-oriented,” and I can tell you I did not have C++ in mind.

Alan Kay at 1997 OOPSLA keynote

Published by smalltalkrenaissance

A non-profit advocacy organization whose mission is to promote and popularize Smalltalk.

%d bloggers like this: