Web Pages

CRC Cards for HotDraw
These are the first ever CRC cards. CRC cards describe classes of objects with their respective responsibilities and collaborators. These cards describe HotDraw, a drawing editor written in Smalltalk.
Thirteen images total 160k.

Slides for First CRC class
These are the slides I prepared for the first ever CRC class. While preparing I got the idea of doing a class exercise using index cards instead of the case study I had planned. In the slides you will see parts of the original case study, images of the HyperCard stack I'd used to document it, and the assignment I ended up giving the students.
Twenty four slides total 83k in PDF format.

C2.COM as Public Space
What is the purpose of this server? A thought provoking question from a friend coaxed me to write at least part of the answer.

Wiki Wiki Web
Many authors contribute pages to the wiki wiki database using a forms based authoring facility linked into the hypertext. The subject is nominally pattern languages, though any reflection on life or programming will be welcome.

DesignFest '95
At OOPSLA '95 designers came together to test their object-oriented design skills in a half-day workshop called DesignFest. These pages report the results of one team prepared from material presented at a related poster session and collected after the event.

Smalltalk and the Web '96
Ken Auer led this panel at Smalltalk Solutions '96 in New York City. Myself and three other webbing Smalltalkers pondered Smalltalk's role on the web and its relation to Java.

Plumbin' Smalltalk Application
Plumbin' is a self contained Smalltalk application written to be used in the hands-on lab section of an advanced Smalltalk class. Students were asked to read the program and then extend it. Plumbin' is designed to be small enough to read in one sitting while still offering interesting capability.

Bowling Score Spiked
We chronical the developemnt of an Extreme Programming "spike". The program explores the use of vector style transformations to compute a bowling score. This program was written as a counterpoint to Martin & Koss's pair-programming of the same code.

Serialization Throughput
Klaus Wuestefeld suggests replacing conventional database with in-memory storage. I have generalized Wuestefeld's benchmark to serialize various size arrays. This provides a better characterization of likely logging performance for realistically sized objects.

Expense Calculator
I wrote this calculator in 1981 when I had a jumble of expenses to work out among friends. The 20 line script anticipated spreadsheets, but only worked in one dimension.
See also our recent papers, talks and position statements on related topics.