| Wednesday, July 25 |
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.
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.
Sponsored by
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.
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.
Sponsored by
Keynote: Living With My Tcl Addiction
Michael McLennan
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.
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.
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.
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.
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.
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.
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 |
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,
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.
Tim O'Reilly will moderate the panel.
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.
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.
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.
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.
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.
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).
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 |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.