Occurred October 11 - 15, '04, in New Orleans, Louisiana
Conference Papers
Brian O'Hagan and Stephen K. Long, Sr. :
Enhancing International Space Station (ISS) Mission Control Center (MCC) Operations Using Tcl/Tk
This paper discusses the use of Tcl/Tk to enhance flight controllers' abilities to control the International
Space Station from the Mission Control Center at Johnson Space Center. The authors explain how Tcl/Tk
overcame limitations of existing C and C++ applications that were costly and time-consuming to modify.
They demonstrate interfacing with the MCC infrastructure to receive ISS telemetry, register services, and
send commands, resulting in applications developed faster, with fewer defects, and more user-friendly
interfaces while maintaining rigorous Configuration Management and certification standards.
Bruce A. Johnson :
From C to Java, Scientific Data Analysis with Java, Jacl and Swank
Nuclear Magnetic Resonance (NMR) spectroscopy is used to derive information about molecular structures
and motions. NMRView, developed by the author, facilitates visualization and analysis of bio-molecular
NMR data and is cited in over one hundred scientific papers annually. The program incorporates Tcl and
implements its GUI with the Tk toolkit, featuring custom Tk widgets for interactive one-dimensional and
two-dimensional data plots that display orthogonal slices through multidimensional NMR datasets ranging
from megabytes to gigabytes in size.
Bryan Oakley :
Actions: A Simple Implementation
Writing rich, highly interactive event-driven user interfaces presents unique challenges, particularly
in synchronizing controls with application state and managing multiple ways to accomplish tasks. This
paper introduces the concept of "actions" - pseudo-objects that join functionality with enabled/disabled
states and can be associated with multiple widgets. When an action's state changes, all associated
widgets update automatically. This approach simplifies development of applications where the same
function is accessible through toolbar buttons, menu items, keyboard accelerators, and context menus,
while also enabling features like interaction logging, high-level undo, and automated GUI testing.
Clif Flynt :
TkTest: Cross Platform and Remote GUI Regression Testing - A tkreplay Application
The TkReplay framework, originally developed by Charles Crowley in the early 1990s, has been updated
to support modern widgets and Windows across networks. Unlike low-level record-and-replay systems that
capture mouse movements and keystrokes, TkReplay works at the lexical and syntactic levels, recording
events tied to graphical objects, making it more robust and platform-independent. The upgraded TkReplay
serves as the engine for TkTest, a regression test and exercise application that can precisely repeat
user interactions for testing, tutorials, and software demonstrations across different platforms.
D. Richard Hipp :
SQLite and Tcl
SQLite is a serverless, zero-configuration SQL database engine that is particularly well-suited for
standalone Tcl applications. Unlike traditional SQL databases that use separate server processes, SQLite
talks directly to database files using ordinary disk I/O. It understands most of SQL-92, supports ACID
transactions, has no arbitrary size limits, and uses a flexible typing system similar to Tcl's approach
to variables. SQLite comes bundled with Tcl bindings, providing a single sqlite3 command that creates
database connections. The simplicity of deployment and administration makes it ideal for embedded
applications and situations where a full database server would be overkill.
Donal K. Fellows :
Using Tcl 8.5 Features to Build an OO System
Object-oriented programming in Tcl is better supported in the 8.5 release than ever before. This paper
demonstrates how to build a basic OO system using Tcl 8.5's new features, including dictionaries for
data parceling, commands as object references, ensemble commands with advanced mapping capabilities,
and command traces for object lifecycle management. The dict with subcommand enables elegant binding
of dictionary keys to local variables within methods. The paper illustrates how these features combine
to create objects that store state in dictionaries, expose methods through ensemble commands, and
automatically clean up resources when deleted.
Gerald W. Lester :
Using and Abusing TclLib
This presentation provides an overview of TclLib, a collection of Tcl modules and packages. The paper
includes a tour of available modules and demonstrates their practical applications through three
examples: a parallel difference utility, sending email with attachments, and an FTP mirror application.
The presentation also discusses how users can contribute to the TclLib project.
Joe English :
The Tile Widget Set
The Tile widget set is an experimental reimplementation of core Tk widgets built on an enhanced version
of the TIP #48 theme engine. By separating widgets' appearance from their implementation, Tile enables
complete look-and-feel changes without modifying widget internals. The package includes several built-in
themes: a streamlined default for X11, a classic Motif-like theme, xpnative for Windows XP using Visual
Styles API, winnative for other Windows versions, and aqua for Mac OSX using the Carbon Appearance
Manager. Themes consist of elements (individual widget parts), layouts (element arrangement), and
styles (element options), which combine to determine the overall appearance. New themes can be
implemented as packages in Tcl or C.
Robert W. Techentin, David R. Holmes III, Barry K. Gilbert, and Erik S. Daniel :
Real-Time Code Distribution on a Heterogeneous Network for Laboratory Equipment Control
A custom distributed computing framework was developed for electronics research laboratory automation
at Mayo Clinic, with flexibility in heterogeneous networks as the primary goal. Based on Tcl and the
comm package, the implementation uses real-time distribution of code rather than traditional remote
procedure calls. Generic server daemons run on networked equipment and execute arbitrary Tcl code sent
from client applications. This eliminates the need to install or maintain applications on servers,
works equally well on Unix workstations and Windows PCs, and provides transparency to application
programmers. The approach dramatically increases flexibility for constantly changing laboratory
configurations while avoiding version incompatibilities and reducing management overhead.
Ron Fox, Chase Bolen, Kanayo Orji, and Jason Venema :
NSCLSpecTcl Meeting the Needs of Preliminary Nuclear Physics Data Analysis
The National Superconducting Cyclotron Laboratory at Michigan State University performs basic research
in heavy ion collisions with rare isotopes. NSCLSpecTcl is a hybrid C/C++ application framework with
Tcl/Tk as an extension language, designed for preliminary nuclear physics data analysis. The system
balances ad-hoc extensibility with performance requirements, providing a framework controlled by an
extended Tcl/Tk interpreter. The paper describes experimental nuclear physics needs, the structure of
the C++ framework, how Tcl/Tk is integrated as a control language, and various extensions created by
the user community. The software has achieved acceptance within the NSCL and the broader nuclear
physics community.
Steve Landers :
Klant - A Server-Managed Client Framework for Tcl/Tk
Klant is a prototype Tcl/Tk server-managed client framework that combines the rich user experience of
thick-client applications with the convenience and security of thin-client deployment. Built upon
existing Tcl technologies including Starkits, TLS for secure communication, TclRFB for VNC protocol
implementation, and Tequila for shared data, Klant provides centrally managed, easy-to-deploy
applications. The server runs on Unix systems with VNC, while clients run on any platform supporting
Tcl/Tk and TLS. Applications display through VNC but can incrementally add client-side functionality,
such as invoking local applications or displaying documentation stored in the client's virtual file
system. This approach achieves both "fit for purpose" and "value for money" by delivering superior
user experiences at lower deployment and maintenance costs.
GWL There was some discussion last year about video recording of the conferences, would people be interested in it and at what price?
Okay, from the chat and listening to the audio, it appears that DKF, stevel, stever, gwl, tclguy are there. I also have to assume that clif flynt is there as well.
Anyone else we know?
LV Okay - you guys had fun yesterday - where's the description? Don't leave us in the dark! Is there a blog some place covering the conference?
MC Oct 14 -- There is some sort of routing problem upstream from the hotel & mini.net. I've created a Simple TCP/IP proxy that is running (temporarily) at 166.70.107.100 that proxies to mini.net and is reachable here from the hotel.
Coolest Tk Screenshot Contest
Congratulations to the winners of the Coolest Tk Screenshot contest, announced October 13 at the 11th Annual Tcl/Tk Conference in New Orleans, LA. This was held by ActiveState, with grand prize winners receiving a subscription to ActiveTcl Pro Studio, featuring Komodo Professional, Tcl Dev Kit and Safari Bookshelf. Honorable mention winners received a copy of TDK.