Web Site Sponsored by


Past Meetings

Building Courses in Smalltalk
David Buck
Building a course that supports several programming languages can be tough. Using conventional tools like PowerPoint requires you to maintain multiple copies of each file even though most slides in the file are identical between the courses. In this presentation, David will show the toolset he built to allow him to develop multi-language courses while keeping the content centralized in one copy of the files.

Location: The Code Factory
246 Queen Street, Ottawa
Thursday, January 27th, 2011 at 6:00pm

There will be a $5 charge to pay for the room.
Smalltalk, Lucene, and a few surprises
Dorin Sandu
Dorin will present an overview of the Apache Lucene search engine, talk about adding search capabilities to a Smalltalk application, and outline some of the design and implementation challenges he encountered in the process.

Location: The Code Factory
246 Queen Street, Ottawa
Wednesday, December 8th, 2010 at 6:00pm

There will be a $5 charge to pay for the room.
Undo Techniques
David Buck
Implementing an undo mechanism is one of the more difficult tasks you can have in a GUI application. In this talk, David will cover various approaches to the problem of undo and show how some of them work in Smalltalk.

Location: The Code Factory
246 Queen Street, Ottawa
Wednesday, November 10th, 2010 at 6:00pm

There will be a $5 charge to pay for the room.
Store in the Cloud
Alan Knight
Alan Knight will present his talk on Store from the European Smalltalk User Group, discussing recent developments, possible upcoming work, and demonstrating an extremely rickety prototype of a "Store Server" that can load packages from a server running in the Amazon EC2 cloud in a single round-trip rather than needing to connect directly to the database.

Location: The Code Factory
246 Queen Street, Ottawa
Wednesday, October 13th, 2010 at 6:00pm

There will be a $5 charge to pay for the room.
Deep Dark Secrets of the VisualWorks Debugger
David Buck
Smalltalkers user the debugger all the time to see what a program is doing and to help familiarize themselves with new parts of the system. Most developers, however aren't familiar with some of the more advanced features of the debugger. In this talk, David will present some of the more obscure areas of the debugger including various options for stepping, breakpoints, one shot breakpoints, watchpoints, variable watches, class watches and more.

Location: The Code Factory
246 Queen Street, Ottawa
Wednesday, June 9th, 2010 at 6:00pm

There will be a $5 charge to pay for the room.
Introduction to Cocoa Application Programming in Smalltalk
Dorin Sandu
We will provide an overview of model-view-controller as implemented by Cocoa, introduce key-value coding, key-value observing, key-value binding, and review some of the provided controllers and views. We will illustrate all these concepts through several example applications implemented in Smalltalk.

Location: The Code Factory
246 Queen Street, Ottawa
Wednesday, April 14th, 2010 at 6:00pm

There will be a $5 charge to pay for the room.
Stampy (or "How I started to like spam")
Martin Kobetic
Stampy is a mail client written in VisualWorks. It is built on top of VisualWorks NetClient libraries and the main UI is a badly abused FileBrowser. Nevertheless Martin has been using it quite happily for over two years now. Today his mail archive has about 130k messages with total size over 1/2 GB. Besides being an excellent testing ground for the underlying libraries it also helps directing attention to pragmatic issues based on real life email traffic. Finally, being an "all smalltalk" client it allows for easy customization and integration with other aspects of smalltalk development.
This presentation will be primarily a demo of the application and a discussion of some of the features, design challenges and decisions, and whatever else interests the audience.

Location: The Code Factory
246 Queen Street, Ottawa
Wednesday, Mar 10th, 2010 at 6:00pm

There will be a $5 charge to pay for the room.
Smalltalk at EDC
Igor Dmytryk
The core trading platform used by the Treasury group at Export Development Canada is written in Smalltalk. The system has been under constant development for over 10 years. The talk will demo the system and cover aspects of our development methodology, testing and future plans. RSVP required.

Location: Meet at main lobby of EDC
151 O'Connor, Ottawa
Wednesday, Feb 10th, 2010 at 6:00pm
Reporting in Smalltalk
David Buck
Over the years, there have been several attempts to build a reporting framework in Smalltalk. It's difficult, though, to build a framework that has the power to produce the kind of reports expected in modern systems. David will talk about various approaches he's used in the past along with his current favorite of using Apace FOP.

The Code Factory
246 Queen Street, Ottawa
Wednesday, Jan 13th, 2010 at 6:00pm

Please note that there will be a $5 charge per person which goes directly to The Code Factory for the use of the room.
Martin Kobetic
The traditional Smalltalk-80 streams have served us well for decades now. They are reasonably simple and reliable (for the most part). However, over time we have also accumulated a lot of practical experience in a wide range of circumstances. We know a lot about where they work well and where not so much. Xtreams is an experiment (at this point) to see if we can distill that experience into something that will be a worthy successor.We are fairly enthusiastic about the current state of Xtreams. The implementation is still fairly small and straightforward while already providing some exciting improvements and addressing a lot of the perceived shortcomings of the traditional streams in general and in their VisualWorks incarnation in particular.This talk will be a brief introduction to the present state of Xtreams, demonstrating some of the design choices and capabilities. I also hope to try some hands-on experiments together with whatever problems people might be interested in and see what kind of solutions we can come up with.

The Code Factory
246 Queen Street, Ottawa
Tuesday, Nov 10th, 2009 at 6:00pm

Please note that there will be a $5 charge per person which goes directly to The Code Factory for the use of the room.
Web Velocity
Alan Knight, Engineering Manager, Cincom Systems

Alan Knight will demonstrate Cincom's recently released Web Velocity web-based development environment. This includes the ability to develop directly in the web browser for web deployment, and easy development using the Seaside framework, the Glorp object-relational mapping layer, and "scaffolding" to make appliation development easy.

The Code Factory
246 Queen Street, Ottawa
Tuesday, September 8th, 2009 at 6:00pm
Building the Internet Raytracing Competition site in Seaside
David Buck, President of Simberon Incorporated

For the past few years, the Internet Raytracing Competition web site has been inactive. The original operators found it too difficult to run the bi-monthly contest and keep the web site updated. Now, this web site is being rebuilt using Seaside and VisualWorks. In this presentation, David Buck will show the problem, the solution and the challenges to getting the IRTC back online.

The Code Factory
246 Queen Street, Ottawa
Tuesday, April 14th, 2009 at 6:00pm
Upcoming Cincom Smalltalk Releases
Alan Knight will talk about some of the upcoming Cincom Smalltalk releases. He will describe some of the interesting and perhaps lesser-known improvements in the VisualWorks 7.6 release, changes to release schedule and process, and some of the major items planned for the fall release. This includes vastly improved Internationalization, improvements to look and feel, COM and ActiveX support, improvements to Store, 64-bit, and briefly touch on the upcoming Web Velocity release.

The Code Factory
246 Queen Street, Ottawa
Tuesday, March 10th, 2009 at 6:00pm
Please note that there will be a $5 charge per person which goes directly to The Code Factory for the use of the room.
Web Velocity
James Robertson, Cincom Product Marketing Manager
This is a joint meeting with the OGRE (Ottawa Group of Ruby Enthusiasts)
1066 Somerset St. W., Suite 303, Ottawa, ON, K1Y 4T3
Sept 17, 2008 at 7:00pm
GLASS - Transparent Persistence for Seaside
James Foster (GemStone)

Lone Star Cafe, 780 Baseline Rd, Ottawa, Ontario, Canada
Feb 5, 2008 at 7:00pm (dinner at 6:00pm)

While the Seaside framework elegantly addresses HTML generation and application flow-of-control issues, it still leaves challenges for the developer--including persistence, multi-user coordination, and scaling. With typical solutions (including object-relational mapping, external files, and multiple images) the "pure objects" experience of Smalltalk is compromised. In this presentation we will demonstrate GLASS (GemStone, Linux, Apache, Seaside, and Smalltalk), a stack (analogous to LAMP) that provides a robust environment for deploying sophisticated, dynamic web applications that can scale.

GLASS runs on GemStone/S 64 Bit, a Smalltalk application server and database, whose Web Edition is available for free--even for commercial use. Copies of the software will be available at the meeting.

James Foster is QA Lead on the Smalltalk Engineering Team at GemStone Systems, Inc.

Seaside at Cincom
Michael Lucas-Smith

HP5115 Carleton University, Ottawa, Ontario, Canada
November 22, 2007 at 7:00pm

Michael will present an introduction to Seaside and then go on to discuss Cincom's plans for Seaside.

Smalltalk from the Trenches
David Buck
Simberon Incorporated

HP5115 Carleton University, Ottawa, Ontario, Canada
Oct 5th, 2005 at 7:00pm

David recounts some of his experiences as a Smalltalk consultant. Starting in 1993,he has worked for dozens of organizations and has seen great successes and great failures.In this presentation, he tells the stories of some of these projects and the lessons helearned from them. He explains his views on modern software development and how Smalltalkand Smalltalk developers have led the way to the modern techniques and practices that heteaches in Simberon's courses. He shows how, even now, the future of software developmentis being led by Smalltalk whether or not the rest of the world cares to notice.

What's new in VisualWorks 7.4 and up
Alan Knight and Martin Kobetic
Cincom Systems

HP5115 Carleton University, Ottawa, Ontario, Canada
March 30th, 2006 at 7:00pm

Alan Knight and Martin Kobetic, of the Cincom Smalltalk development team, will talk about someof the new developments, both those shipping in VisualWorks 7.4, and those planned for futurereleases. These include work on scriptability and deployment, tools, security, and networking.

Squeak Night
Wednesday, June 1, 2005
Dean Swan and Jeff Sparkes
HP5115, Carleton University

Dean and Jeff will demonstrate Squeak for us and show us all the neat things that are happening in the Squeak world these days. We can install Squeak for anyone who brings a laptop.

Smalltalk Puzzle Night
Wednesday, April 20, 2005
HP5115, Carleton University

It's time to combine a little learning and a little fun. At this meeting, we are inviting all our Smalltalk regulars as well as anyone who would like to learn a bit about Smalltalk to bring along your laptops and have some fun.  We will start with a quick introduction to the Smalltalk language and environment. We'll help you install Smalltalk on your laptops if needed. Then we'll break up into groups to solve some puzzles using Smalltalk. Get ready to use your thinking caps.

Python / Smalltalk Joint Meeting
Wednesday, Jan 19, 2005
7:00 pm

Python and Smalltalk have a lot of things in common.  Both are object oriented languages. Both use dynamic typing (duck typing).  Both are competing for attention in a curly brace world.

At this meeting, the Ottawa Python Authors Group (OPAG) and the Ottawa Carleton Smalltalk Users Group will join forces.  Each group will show their language to the other and talk about similarities and differences.  By learning about other languages, we can better understand our own language and learn techniques we had never considered before.


James Robertson
Nov 3, 2004
7:00 PM
Room 5115 Herzberg Building
Carleton University

BottomFeeder is an RSS/Atom news aggregator written in VisualWorks Smalltalk.  In this talk I'll explain:

-- what a news aggregator is
-- why you should care
-- Go over some implementation details

BottomFeeder is a smart network client, dealing with XML, Http, XML-RPC, and SOAP.  It's a free, open source application - many of the pieces can be easily reused in other application, including the HTTP layer (which handles authentication, mod gzip, and encoding issues), the online updating layer (which allows BottomFeeder to be updated on the fly).

Questions will be welcome.

Atlantis Project
David Long
Satellite Forces
Sept 29, 2004

The Atlantis Project is a VisualWorks Smalltalk project that helps businesses model their processes using Finite State Machines.

Problem statement:

Build a software system that accepts a heterogeneous description of a business and translates it into a controller, data model, repository and user interface. Provide the ability to modify the business process and output new software in near real-time.

The software system will occupy a known set of finite states at any time and will perform only in accordance with the original description of the business.

The software system will have the ability to observe itself and recommend improvements to the user based on parameters that are considered “valuable”.


This problem was solved by the Satellite Forces software team by using a Smalltalk based Object Oriented Finite State Machine, Dynamically Generated Interfaces, and an Object Oriented process library of virtual machines for business.


Satellite Forces has produced the Atlantis Business Technology system that is now being deployed in commercial applications.

Satellite Forces is still developing the Atlantis Intelligence Server for the purposes of making recommendations to users on business improvements.

Smalltalk in Eclipse:  How to build your favorite language IDE
John Duimovich
Eclipse Tools 
Project Lead

Feb 25, 2004,  7:00 pm

The Eclipse IDE is definitely not just for Java. This talk will describe the creation of a Smalltalk IDE on the eclipse platform and some of the architectural decisions that went into building it. We will explore the levels of integration that a language IDE implementor should consider when bringing their language to the eclipse platform. If you have a favorite language and you have been thinking about writing an eclipse plug-in to support it, this talk is for you.


Video Screening: Squeakers
Nov 19, 2003

At this meeting, we will be showing the video called "Squeakers".  This is an excellent documentary on Squeak and Alan Kay.  Here's the description of the video:

Dr. Alan Kay, known as "the Father of the Personal Computer,"
has devoted his life to the subject of computers and early childhood education. Thirty years of computer innovation and a deep understanding of how children learn is behind his Squeak
programming language - and the new math and science projects shown here with fourth to sixth graders.
A 44-minute Hi Def film of interest to parents, educators, and anyone concerned about how children learn, SQUEAKERS features
Alan Kay, Jerome Bruner, Seymour Papert, and a special appearance by Quincy Jones.

You Can’t Do That With Smalltalk! – Can You?
Lessons From The Past – Challenges For The Future

Dave Thomas
Bedarra Corporation, Carleton University and University Of Queensland
Sept 19, 2003

In this talk I provide a personal perspective on the evolution of commercial Smalltalk as it escaped from the Parc to the Street. The papers and dialog I see today in the Smalltalk community, and especially the Squeak communities are very much reminiscent of the excitement we felt as researchers and developers in the early 80s. Our challenge then was to be able to keep using Smalltalk in research or commercial development outside our tiny community.

In the early 80s we had very limited access to the technology and the implementations lacked the features and performance needed for any kind of serious industrial or research use. Indeed many of us lacked the hardware to even use the technology in a serious application.

We examine the technical and business contributions that both enabled and hindered the development of a vibrant commercial and educational Smalltalk industry in the early 90s. We show that by stepping up to and addressing several external challenges the Smalltalk market was created and flourished.

We briefly discuss the Smalltalk commercial inertia, language entropy and developer arrogance that allowed it in part to be eclipsed by other technologies rather than evolve to meet the needs of web and open source communities. We advocate for constantly evolution of Smalltalk, rather than the preservation Smalltalk as an interesting software artifact for every trapped in its own self-image. There are many exciting things happening outside Smalltalk that we need to bring into our world, and some old baggage we need to throw out.

We challenge future Smalltalk advocates to address the needs of the external developer community to enable the wider spread use of Smalltalk. Unless the needs of the broader development community are met Smalltalkers will remain in their cloisters preaching to each other rather than saving developers from middleware hell.

A new MacOS X Smalltalk

Dorin Sandu, Mark Suska
Date: Thursday, July 3, 2003

We will introduce a brand new Smalltalk system that runs natively under MacOS X. After a tour of the development environment, we will cover the design and implementation of the user interface framework including the native interface to the OS. Time permitting, we will review VM design issues and discuss future development plans.

Extreme Programming in Smalltalk

James Robertson

James Robertson, Product Manager for Cincom Smalltalk will repeat a
recent presentation he gave at an XP conference in Brazil. Extreme
Programming was developed in Smalltalk circles, join us and get an
insight into why.

Test Driven Design

Dave Astels

Cryptography and SSL in Smalltalk

Martin Kobetic
Feb 3, 2003
7:00 PM

This talk will introduce some basic cryptographic algorithms and techniques that are available in the VW Security library and then show how these are used in SSL to achieve various security objectives. The session should conclude with demonstration of the VW SSL implementation and it's application in VW HTTPS support.

The meeting will be held in Room 5115, Herzberg Laboratories (building 13 on the map). Pay-parking is available in Lot 1, 2, and parking meters can be found along University Drive. Free parking is available across Bronson Avenue opposite Lot 5. 


ElastoLab - A Physics Playground for Kids

Thursday, Oct 3, 2002
David Buck
Simberon Incorporated

ElastoLab is a shrink-wrapped VisualWorks application that allows kids to design their own 2D scenes that incorporate physics elements like particles, springs, and gravity and lets them see their scenes animate in real-time. Originally written in C++, it was later completely re-written in Smalltalk.

David will be talking about the development history and the design challenges in writing ElastoLab. The talk will explain:

* how to interface to the Windows sound facilities from Smalltalk
* how to make graphical applications run quickly
* how to package a Smalltalk application for release
* developing help facilities and guided tours
* using the web toolkit to develop a message board on the Internet for ElastoLab.

A CD-ROM of the ElastoLab demo version will be available to all attendees. 

Smalltalk Solutions Report

Wednesday, May 8th, 2002

Alan Knight will present a brief report on the Smalltalk Solutions Conference that happened April 22-24 in Cincinnati. The conference features experience reports from a number of successful Smalltalk projects, including the billing system for Proxima in Montreal, the largest online travel booking service in the Czech Republic, and a trading system for the Amsterdam Power Exchange. There was news about new features upcoming in VisualWorks, VisualAge, and other dialects, and an an entire set of tutorials by the eXtreme Programming trio of Ron Jeffries, Chet Hendrickson and Ann Anderson.

Alan will have CDs of the proceedings available as well as any freebies that were given out at the show, including a VW7 prerelease.

The UFS Smalltalk Project @ Export Development Canada

Wednesday, Feb 27, 2002

For the past 4 years EDC has been developing a Smalltalk financial system for its Treasury group using VisualWorks. The system, which has been live for 2 years, currently manages a several billion dollar portfolio. The talk will review the system and discuss several topics including experiences encountered building large OO systems, persistence architectures, data feeds and the adoption of XP.
Presenters: Igor Dmytryk and Nicolas Leduc

Smalltalk Version Control Roundtable

 Wednesday, December 5, 2001

Most commercial Smalltalk projects use some sort of version control to manage their source code.  At this time, there are four major packages used for version control.  This roundtable discusses the principles behind each one and the advantages and disadvantages of each.  One person will represent each of the version control tools.

David Buck
(ENVY Developer)
Alan Knight
Martin Kobetic


Our guests will talk about the status of GemStone the product and the company.  They'll talk about what's new in GemStone 6.0 and offer some technical details along the way.

Steve Hudson (Sales Director)
Norm Green (Director of Services) 
Dan Ware (President) (maybe)


Designing 3D Game Worlds in Smalltalk

Anthony Lander
Learning Dimensions


Learning Dimensions uses Smalltalk to design worlds for 3D video games. Anthony's talk will look at various aspects of 3D video game design. The talk begins with an overview of the game development pipeline, then looks at some 3D algorithms, and overall design strategies.


Smalltalk Solutions Review

User group organization


Smalltalk HomeMovies

Dave Mattinson

Dave Mattinson's "Smalltalk Home Movies" presentation examines some
Smalltalk language extensions he has created and some modifications he has
made to the Smalltalk IDE to make it more productive.