Tcl/Tk Conference Sessions

Wednesday | Thursday | Friday

Wednesday, July 25

Will the Next Generation Internet Still Depend on Open Source?
Fred Baker, Cisco Systems
Track: Keynote
Date: Wednesday, July 25
Time: 9:00am - 9:30am
Location: Grande Ballrooms ABC in the East Tower

Sponsored by
IBM
How important is open source to the future of the Internet? The Internet evolved as it did because of open source software and open standards. The spirit of open source is best expressed by the Internet Engineering Task Force, which operates on the basis of "rough consensus and running code." However, today's Internet is not the playground it was a decade ago. While some applications, like Napster and AIM, use the open Internet effectively, the sacrifice of the end-to-end model makes deployment of innovative applications challenging. The introduction of so-called "middle boxes" - firewalls, translators, caches, and application layer gateways - means that the new applications must actively circumvent these, or must gain their cooperation.

In a highly competitive market, with a lot at stake, developing consensus as well as running code can be difficult. Industry consortia and business models may determine how the future of the Internet gets decided - and who makes those decisions. Cisco Fellow Fred Baker will talk about the challenges that will shape the Internet, and whether Open Source will play as big a role as it has in the past.


An Open Source Success Story on Wall Street
W. Phillip Moore, Open Source Advocate
Track: Keynote
Date: Wednesday, July 25
Time: 9:45am - 10:15am
Location: Grande Ballrooms ABC in the East Tower

Sponsored by
IBM
Morgan Stanley has what is widely recognized as one of the best IT departments in the financial industry, and has built one of the worlds largest integrated and truly "Enterprise-wide" technology platforms for application deployment.

This infrastructure was architected with a combination of Open Source and proprietary software. This presentation will discuss the challenges faced, both technical and political, when deploying OSS on such a large scale and the problems managed as the environment changes and grows.

The discussion covers the contrast between the OSS experience with that of proprietary closed source products in the same environment, the lessons learned from this experience, and how the OSS community can help make OSS a continued success.


Greeting by Mark Harrison

Keynote: Living With My Tcl Addiction
Michael McLennan


Mark Harrison, AsiaInfo Holdings, Michael McLennan, AsiaInfo Holdings, Inc.
Track: Tcl/Tk Conference
Date: Wednesday, July 25
Time: 10:45am - 12:15pm
Location: Fairbanks A&B in the West Tower

I remember the first time I used Tcl/Tk. My friends were passing it around, and I didn't want to be uncool. So I tried it. The syntax felt a bit odd at first. Then, I felt this incredible rush as my software project materialized before my eyes. What should have taken months, I accomplished within in a week. I've been hooked ever since. For many years, I would take on any software project--any excuse to use Tcl/Tk. These days, I've made it my mission to warn others about this dangerously addictive software. During this talk, I'll show off some examples and screen shots from my sordid past.


mod_websh: A Tcl-based Apache Module for Rapid Application Development
Andrej Vckovski
Track: Tcl/Tk Conference
Date: Wednesday, July 25
Time: 1:45pm - 2:15pm
Location: Fairbanks A&B in the West Tower

This presentation describes the key features of Webshell, its architecture and design decisions, and demonstrates a sample application based on mod_websh. Finally, we discuss experiences of migrating a module from Apache 1.3 to 2.0. This includes various aspects of Apache's new multi-processing modules including thread-safety of modules.


LDAPtcl: A Tcl Interface to the Lightweight Directory Access Protocol
Randy Kunkee
Track: Tcl/Tk Conference
Date: Wednesday, July 25
Time: 2:15pm - 2:45pm
Location: Fairbanks A&B in the West Tower

This presentation covers the Lightweight Directory Access protocol and the ideal datastore interface, the LDAPtcl interface. Special tools written in Tcl/Tk provide elegant interfaces to data stored in LDAP, which makes the Tcl event loop a natural interface for handling results arriving from the LDAP server.


KAP: The Kinetic Application Processor
Mark Harrison, AsiaInfo Holdings
Track: Tcl/Tk Conference
Date: Wednesday, July 25
Time: 2:45pm - 3:15pm
Location: Fairbanks A&B in the West Tower

This presentation discusses KAP (Kinetic Application Processor), an open source web application processor allowing web page embedded Tcl code. It supports a high transaction rate by supporting database connection pooling and by compiling web pages into Tcl procedures that translate to cached bytecode.


Making the Voice of Tcl Heard: Experiences in Combining Tcl with Voice Software
Spyros Potamianos, Manolis Tsangaris, Alexios Zavras
Track: Tcl/Tk Conference
Date: Wednesday, July 25
Time: 3:45pm - 4:15pm
Location: Fairbanks A&B in the West Tower

This presentation presents some of the work performed towards the greater goal of integrating Tcl with voice interface elements and thus creating a simple scripting language appropriate for the development of voice-based applications.


Building Mission-critical CAD Applications with Tcl/Tk
Michael McLennan, AsiaInfo Holdings, Inc.
Track: Tcl/Tk Conference
Date: Wednesday, July 25
Time: 4:15pm - 4:45pm
Location: Fairbanks A&B in the West Tower

The Signalscan waveform viewer has been an extremely successful product for many years, but it reached a point in its life cycle where it needed to be rewritten. In this talk, we’ll describe how we used Tcl/Tk to rebuild and revitalize this mission-critical tool.


Netview: A Tcl/Tk Application for the Visualization of AT&T FR Network
Ding Chunping
Track: Tcl/Tk Conference
Date: Wednesday, July 25
Time: 4:45pm - 5:15pm
Location: Fairbanks A&B in the West Tower

This talk covers the solution of how Tcl/Tk and ITCL solve the searching and visualizing problems of the AT&T Frame Relay Capacity Management network. It describes the architecture of Netview, and the running environments and explains how to use ITCL to describe the data structure and the associated functions.


Thursday, July 26

Shared Source vs. Open Source: Debate and Panel Discussion
Craig Mundie, Microsoft, Michael Tiemann, RedHat, Inc.
Track: Keynote
Date: Thursday, July 26
Time: 8:45am - 10:15am
Location: Grande Ballrooms ABC in the East Tower

Sponsored by
Sun Microsystems
Microsoft Senior Vice President Craig Mundie and Red Hat CTO Michael Tiemann set the stage for a wide-open panel discussion about Microsoft's Shared Source program and the response from the open source community, when they square off in this shared source vs. open source debate.

Mundie set off a far-reaching discussion recently when he introduced Microsoft's Shared Source program, which blends access to source code with the preservation of strong intellectual property rights by software developers, and contrasted Shared Source to Open Source and the GNU General Public License.

There's been a strong response from the open source and free software communities, accusing Microsoft of trying to co-opt the momentum of open source with a program that offers superficial similarities, but few of the real benefits. Microsoft counters that they are trying to find a balance between the needs of commercial developers and the lessons learned from the open source movement.

Mundie will discuss ways in which Shared Source differs from Open Source, and why Microsoft believes that the Shared Source Philosophy supports a strong software business case for commercial software developers and their customers.

Red Hat CTO Michael Tiemann will then discuss the industry's experience with open source vs. pseudo-open licensing, and why he believes that the future will favor stronger (rather than weaker) licenses to protect choice for users and freedom for developers.

His speech will be followed by a panel discussion with Tiemann, Mundie, and other experts on intellectual property and the software industry including,

Tim O'Reilly will moderate the panel.


The (Active) State of Tcl
Jeff Hobbs, ActiveState
Track: Tcl/Tk Conference
Date: Thursday, July 26
Time: 10:45am - 12:15pm
Location: Fairbanks A&B in the West Tower

The State of Tcl is a traditional talk focused on the background of Tcl development since the last conference. This year we’ll cover Changes at Ajuba, the Advent of the TCT, Community Notes, Developer Xchange, 8.3 and 8.4 updates, Development & Roadmap, and a Roadmap Poll.


Tcl/Tk in the Analog Simulation Environment at Agere Systems
Michael S. Toth
Track: Tcl/Tk Conference
Date: Thursday, July 26
Time: 1:45pm - 2:15pm
Location: Fairbanks A&B in the West Tower

Analog simulation often requires many iterative steps to fine-tune a design. The more the CAD tools reflect this need, the more efficient a designer's time will be. The complexity of frequently used operations is directly proportional to the time it takes to refine a design. These operations are creating a netlist, modifying the netlist to reflect the optical shrink in processing (a common way to cost reduce a design without creating new design cell libraries), setting up scripts, plotting, and more. Integration of tools has been the goal of CAD.

This paper describes how a well-designed command tool such as Tcl can be used to integrate existing tools and shorten design time.


A Universal Client for Taskflow-Oriented Programming with Distributed Components: XML/TclTk Implementation
Hemang Lavana, Franc Brglez
Track: Tcl/Tk Conference
Date: Thursday, July 26
Time: 2:15pm - 2:45pm
Location: Fairbanks A&B in the West Tower

This paper presents an XML/TclTk implementation of a universal, user-configurable client that (1) reads user-programmed interconnections of distributed component programs as task instances, (2) dynamically renders an {interactive GUI of all interconnected components as a hierarchical taskflow, and (3) dynamically creates a schedule to execute component programs concurrently, serially, or not at all, depending on the user-defined runtime configuration of the taskflow topology. The client creates a taskflow-oriented programming environment, conceptually introduced in the companion paper and demonstrated in this paper.

The recursive schema of component instances is conveniently captured as an extension of XML in a {c}ollaborative {d}istributed {t}askflow {m}ark-up {l}anguage (cdtML) and consists of mainly two layers: (1) an encapsulated blackbox (single-task) or a whitebox (multi-task) layer, and (2) a task instance layer. The encapsulated task layer contains two parts: a definition layer and a body layer, with the definition layer serving as a readily accessible API for the task. A generic Tcl-XML parser reads both the cdtML schema and the user-created cdtML taskflow description and outputs a taskflow description in TclTk. This in turn generates the interactive GUI as the hierarchical taskflow, waiting for user inputs. User may choose to interact in any of the following ways: reconfigure the taskflow interconnections, view or edit data, descend/ascend the taskflow hierarchy, select the mode of execution, invoke the taskflow, abort the taskflow (if already executing), reset the state of the taskflow, etc.


Scripting Data Structures
Mark Harrison, AsiaInfo Holdings
Track: Tcl/Tk Conference
Date: Thursday, July 26
Time: 2:45pm - 3:15pm
Location: Fairbanks A&B in the West Tower

Data structures are an important part of many computer programs. Various scripting languages provide different methods for defining these data structures. Using published sources, a selection of data structures is presented in Tcl, Perl, Python, Ruby, and [incr Tcl]. These are then evaluated on size, performance, readability, and conformance to generally accepted good programming practice.


TSIPP Workbench: Working Widgets Without Code
Paul Welton, Nortel
Track: Tcl/Tk Conference
Date: Thursday, July 26
Time: 3:45pm - 4:15pm
Location: Fairbanks A&B in the West Tower

This presentation describes an extension to an established Tcl extension known as TSIPP. This is a 3-D image specification and rendering toolkit for use with Tcl and Tk developed by Mark Diekhans, described in "Tcl/Tk Tools" by Mark Harrison and other contributors, O'Reilly.


KitView: A User Interface Tool for MetaKit
Steve Landers
Track: Tcl/Tk Conference
Date: Thursday, July 26
Time: 4:15pm - 4:45pm
Location: Fairbanks A&B in the West Tower

This overview talk discusses the design and implementation of KitView, a user interface tool designed as a test bed for ideas in database design, data management and user interface generation. Covered are lessons learned to date and considers possible future directions (including the rule based generation of sophisticated user interfaces).


Tcl/Tk Extensions for Visualization of Large Data Sets
Neil McKay
Track: Tcl/Tk Conference
Date: Thursday, July 26
Time: 4:45pm - 5:15pm
Location: Fairbanks A&B in the West Tower

This presentation describes some extensions to Tcl and Tk that were used to implement tools for the analysis and visualization of large data sets. Such tasks require efficient manipulation of large numerical arrays, and convenient display of three-dimensional data. These goals were realized by providing Tcl and Tk with five interdependent extensions.


Friday, July 27

Big Hairy Problems: Open Source Challenges in the Enterprise
Michael Tiemann, RedHat, Inc.
Track: Keynote
Date: Friday, July 27
Time: 8:45am - 10:15am
Location: Grande Ballrooms ABC in the East Tower

Sponsored by
ActiveState
If you talk to CTOs, their biggest concerns aren’t whether to use commercial software or open source software but a set of large-scale problems that don’t yet have obvious solutions. Oracle may not have solutions for them, but neither does Open Source. Our panel of top CTOs will tell us about enterprise-class problems that they are worried about solving into the future.


A Tcl-Powered Handheld Computer for Telecommunications Test Automation
Karl Lehenbauer
Track: Tcl/Tk Conference
Date: Friday, July 27
Time: 10:45am - 11:15am
Location: Fairbanks A&B in the West Tower

This talk describes a recently completed project to create a Tcl-based handheld computer for telecommunications test automation and record keeping. The application is explained, the decision to use Tcl is recounted, what was done to fit Tcl into a small space (less than one MIPS and one megabyte of RAM) is chronicled.


A New Method for Embedding Tcl/Tk into Windows Applications
David Gravereaux, none!
Track: Tcl/Tk Conference
Date: Friday, July 27
Time: 11:15am - 11:45am
Location: Fairbanks A&B in the West Tower

This talk describes a solution for embedding Tcl/Tk in windows applications regarding Tcl's event loop in conjunction with the windows message pump: using a restricted form of threading allowing Tcl/Tk to not have to be compiled for multithreading support by taking on the responsibility of thread-safety and presenting a complete static library (in C++) for inclusion in windows and MFC applications.


Fulfilling the Promise of [package unknown]
Don Porter
Track: Tcl/Tk Conference
Date: Friday, July 27
Time: 11:45am - 12:15pm
Location: Fairbanks A&B in the West Tower

This presentation proposes the necessary enhancements to Tcl's [package] command and offers a simple alternative installed package manager that makes use of those enhancements.


RetrievalWare Query Tool: Glueware Between Knowledge Retrieval and Data Mining
Mac Cody
Track: Tcl/Tk Conference
Date: Friday, July 27
Time: 1:45pm - 2:15pm
Location: Fairbanks A&B in the West Tower

Tool Command Language (Tcl) could, arguably, be considered the first programming language designed from the start to act as glueware. Applied as either an embedded programming language or as a standalone scripting language, Tcl's strong suit has been to act as the means to interface between software components. The rich variety of tools and extensions that are available for Tcl, allows for the rapid development and deployment of Tcl-based glueware.

The increasing availability of Commercial-off-the-shelf (COTS) and Government-off-the-shelf (GOTS) software often precludes the need for expending engineering development resources on development of sophisticated applications. It is seldom the case, though, that data from one application can be used directly by another application. Some form of data extraction and/or transformation is necessary. Tcl has been found to work very well at solving this need.

This paper describes the development of a Tcl-based glueware application that supports Convera Corporation's RetrievalWare knowledge retrieval system. The glueware, known as the RetrievalWare Query Tool (RWQT), performs extraction of selected documents from the RetrievalWare libraries. Document selection is based on a drag-n-drop metaphor, i.e., dragging individual document references or collections of document references from RetrievalWare's browser-based interface and dropping them onto RWQT's Tk-based interface. RWQT then can extract the documents and export them in various formats for use by various data mining applications.

The various extensions and tools used in developing RWQT will be discussed. This functionality was not immediately available as Tcl extensions were quickly created using David Beasley’s SWIG tool. Of course, the Tk widget library provided a means to rapidly develop the graphical user interface. The XF GUI builder tool provided an integrated development environment for managing and testing the code elements as well as creating the user interface.


Tcl/Tk in Survivability Modeling for Military Systems
Ronald A. Bowers, Robert G. Parker, Paul Tanenbaum
Track: Tcl/Tk Conference
Date: Friday, July 27
Time: 2:15pm - 2:45pm
Location: Fairbanks A&B in the West Tower

One of the missions of the U.S. Army Research Laboratory (ARL) is analyzing the survivability of Army systems in the context of the entire gamut of combat hazards, from ballistic threats like bullets, missiles, and bursting artillery rounds to electronic- warfare threats like jamming and electromagnetic pulses to biological and chemical agents. Because of this role, ARL has an active program of modeling and simulation with a history reaching more than 50 years back through a predecessor organization, the Ballistic Research Laboratory (BRL), all the way to ENIAC. Over the past decade, as Tcl/Tk has developed, we have adopted it for integra- tion into our existing applications with great success. In this paper we discuss the problem domains, our software practices before Tcl/Tk, the extent and nature of our incorporation of Tcl/Tk, lessons that we have learned, and our plans for future efforts.


Computer Vision Scripting
Stephan Scholze, Swiss Federal Institute of Technology, Christian Widmer
Track: Tcl/Tk Conference
Date: Friday, July 27
Time: 2:45pm - 3:15pm
Location: Fairbanks A&B in the West Tower

Accessing a large C++ class library for computer vision research through a simple and intuitive command language is the major goal of the presented Tcl extension. The paper investigates into the seamless integration of objects and algorithms of the library into Tcl. This is achieved by making extensive use of the Tcl object technology. A typical use of the extended scripting language is for teaching undergraduate students, who do not have relevant programming experience, in computer vision practice.


A Universal Client for Taskflow-Oriented Programming with Distributed Components: Concepts
Franc Brglez, Hemang Lavana
Track: Tcl/Tk Conference
Date: Friday, July 27
Time: 3:45pm - 4:15pm
Location: Fairbanks A&B in the West Tower

This paper introduces the concept of taskflow-oriented programming by way of a universal, configurable client that (1) reads user-programmed interconnections of distributed component programs as task instances, (2) dynamically renders an interactive GUI of all interconnected components as a hierarchical taskflow, and (3) dynamically creates a schedule to execute component programs concurrently, serially, or not at all, depending on the user-defined runtime configuration of the taskflow topology. The implementation of the client, including the transparent access to components via a TCP protocol using telnet-, ssh-, http-, or socket-based clients, is presented in the companion paper.

Conceptually, taskflow-oriented programming relies on a recursive schema of encapsulated blackbox (whitebox) component instances. Each encapsulated component instance contains five primitive tasks: a blackbox (whitebox) component, an eight-state finite-state-machine with a datapath (FSMD), a ControlJoin, a ControlFork, and a DataMux. User-programmed interconnections of distributed component programs are captured in the ControlJoin and ControlFork of each component instance. The taskflow schedule is derived from the underlying TaskGraph of asynchronously interacting FSMDs, each supporting a simple hand-shaking protocol with the attached blackbox (whitebox) component.


Command, Control Integration Language (C2IL)
James T. Hennig, Debra J. Siquieros
Track: Tcl/Tk Conference
Date: Friday, July 27
Time: 4:15pm - 4:45pm
Location: Fairbanks A&B in the West Tower

This presentation tells how the Tcl/Tk scripting language framework will serve as the basis for the development of C2 domain specific extensions. The future direction of this program will take some of the C2IL capabilities and create methods for their integration into existing commercial software using object methods, distributed processing methods, and built in extension mechanisms.


Next Generation of Integration with Tcl/Tk
David Vice, Gerald Lester
Track: Tcl/Tk Conference
Date: Friday, July 27
Time: 4:45pm - 5:15pm
Location: Fairbanks A&B in the West Tower

This presentation discusses an application combining Tcl/Tk and XML-structured messages that form the basis for uniting Enterprise software and messaging middleware. Also covered is how to manage code complexity through the use of packages and namespaces.