    Approved: news-answers-request@MIT.EDU
    Archive-name: tcl-faq/commercial-uses/part1
    Version: 3.1
    Last-modified: November 30, 1994
    Posting-Frequency: Around the 1st of each month

# Tcl/Tk Commercial Uses - Part 1: The Index

This file is the index for how Tcl/Tk is being used in commercial products. Please see the detailed postings for more information

## Index - Part 2: Products and Services

- Rumors and other miscellaneous...

- Use of TCL/TK for Computational Fluid Dynamics Applications

- CASE Tool Code Generation

- CPU's Supervisory Control And Data Aquisition Sytem (SCADA)

- NeoSoft Tcl

- Other NeoSoft products

- SYSTEM 9 Geographic Information System (TM)

- Cyberterm - a Networked 3D OS for PCs

- NANNY - CPU-time balancer for UNIX compute servers

- KIS - Kernel Information System

- Telebit NetBlazer

- Cray Visualization Toolkit

- SCO Visual Tcl

- SimCityl

- PARTEK software

- Sibylla

- TclXess

  ## Index - Part 3: Training

- Training by AT&T: "Object Oriented Programming with [incr Tcl]"

- Training by Computerized Processes Unlimited: "Introduction to Programming in Tcl/Tk"

- Training by Computerized Processes Unlimited: "Building Graphical User Interfaces in Tk"

- Training by Computerized Processes Unlimited: "Extending Tcl via C"

- Training by NeoSoft: "Tcl and Tk: An Applications-Based Approach"

  Each posting is prefaced by a line with dashes so you can search to the beginning of the next message.

  Please submit further postings to gwl@cpu.com

      Approved: news-answers-request@MIT.EDU
      Version: 3.1
      Last-modified: November 30, 1994
      Posting-Frequency: Around the 1st of each month

  # Tcl/Tk Commercial Uses - Part 2: Products and

  Services

  This file contains brief descriptions of how Tcl/Tk is being used in commercial products. If you have questions about specific postings, contact the person who made the submission directly. The purpose of this listing is to show that Tcl/Tk is being used in commercial products and to discuss that use. Part 1 contains a complete index.

  ## Index - Part 2 Only

- Rumors and other miscellaneous...

- Use of TCL/TK for Computational Fluid Dynamics Applications

- CASE Tool Code Generation

- CPU's Supervisory Control And Data Aquisition Sytem (SCADA)

- NeoSoft Tcl

- Other NeoSoft products

- SYSTEM 9 Geographic Information System (TM)

- Cyberterm - a Networked 3D OS for PCs

- NANNY - CPU-time balancer for UNIX compute servers

- KIS - Kernel Information System

- Telebit NetBlazer

- Cray Visualization Toolkit

- SCO Visual Tcl

- SimCityl

- PARTEK software

- Sibylla

- TclXess

  Each posting is prefaced by a line with dashes so you can search to the beginning of the next message.

  Please submit further postings to gwl@cpu.com

  ### ENTRY 0 - Rumors and other miscellaneous...

      Several companies are using Tcl or Tcl/Tk in their products but do not
      advertise that fact.

  It is rumored that the following computer vendors may be using tlc/tk in a future version of some of their management tools: SCO, Digital, Cray.

  It was stated at the Spring 1994 DECUS Symposium in New Orleans by a speaker from OSF that the management tools "DCE Shell" that is part of DCE Version 2.0 is an extended tcl/tk shell. The speaker did not know if dynamic loading was present nor what extensions are present.

  In addition, numerous companies are using Tcl to automate regression testing. In essence, they are using the framework developed by folks at Sun that is used to test the Tcl implementation. Take a look at the files in tcl/tests.

  Tcl/Tk and its archive have begun to appear on CD-ROM archives. One such archive was made by Dr. Dobb's Journal.

  ### ENTRY P1. - Use of TCL/TK for Computational Fluid Dynamics

  Usage: Computational Fluid Dynamics Applications Company: ICEM CFD Engineering, Berkeley CA Contact: Wayne A. Christopher Email: wayne@pmac.com

  We have been using Tcl/Tk extensively since 1992 for front-ends to computational fluid dynamics (CFD) systems. We currently have two main products. The first is ICEM CFD, a general purpose front-end that includes a CAD system, several mesh generators, and interfaces to numerous flow solvers. The second is ICEPAK, which is specific to electronic cooling simulation.

  In ICEM CFD, Tcl/Tk is used for several components. The first is a "manager", or a graphical shell that is written entirely as a wish script and ties together over 100 component programs, manages the files they use, and gives the overall system a more unified look and feel. The second is Leo, which is a grid visualizer that is partly written in Tcl and partly in C++, and allows the user to examine and modify computational meshes that are potentially very large. The third is a CAD tool, P-Cube, which is a large program mostly written in Fortran, that has some rather tricky qualities that made retrofitting a Tcl/Tk interface an interesting task, especially in the area of event loops. Finally, several mesh generation tools have separate Tcl/Tk interfaces that run as pure wish scripts and communicate with the "real" application using pipes.

  ICEPAK, which was developed in collaboration with Fluid Dynamics International, was designed to be a very application specific tool. It recognises electronic cabinet components such as cooling fans and printed circult boards and handles each of them specially. There are three components to this system: the front-end/postprocessor, the automatic hexahedral mesh generator, and the solver. Only the first was written with Tcl/Tk. The code specific to the front-end includes about 35K lines of Tcl and 35K lines of C++, and some rather large Fortran components which, fortunately, another group maintains.

  Our experience with Tcl/Tk in the CFD environment has been very positive. The key to using Tcl with large data sets is to ensure that only data that remains small is manipulated at the Tcl level, and that all other data is passed around using handles or pointers to the lower level. Industry acceptance has been very good, both due to the ease of fast modification and customization and also to the high quality of the interfaces that can be created. It also helps that most tools previously available for mechanical engineers have had rather unfriendly GUI's.

  ### ENTRY P2. - CASE Tool Code Generation

      Usage: CASE Tool Code Generation
      Company: Westmount Technology B.V., Holland
      Contact: Eko Bousema, Tineke Keuzenkamp
      Email: ekbo@wmt.nl
      US Subsidiairy: Westmount Inc., Arlington, VA 22209
      Tel. (+1) 703 875 8799
      Fax. (+1) 703 527 5709

  Products:

  Westmount I-CASE Yourdon

  Westmount I-CASE Yourdon is an Open Integrated Computer Aided Software Engineering (CASE) tool (based on X and OSF/Motif) running on Unix and VMS. This product supports the complete software life cycle. It supports Yourdon SA/SD. All Information is stored in a central repository (Ingres, Informix, Oracle or Sybase). Code is generated Ingres, Informix, Oracle and C.

  Westmount I-CASE Ward/Mellor

  Westmount I-CASE Ward/Mellor is an Open Integrated Computer Aided Software Engineering (CASE) tool (based on X and OSF/Motif) for developers of technical/real time systems running on Unix and VMS. This product supports the complete software life cycle. It supports the Ward/Mellor, Yourdon and Constantine methods. All information is stored in a central open repository (Ingres, Informix, Oracle or Sybase). Code is generated for C applications.

  Westmount I-CASE SSADM

  Westmount I-CASE SSADM is an Open Integrated Computer Aided Software Engineering (CASE) tool (based on X and OSF/Motif) for SSADM Developers running on Unix. This product supports all 5 modules of the SSADM method; Feasibility Study, Requirements Analysis, Requirements Specification, Logical System Specification, Physical Design. It provides full life-cycle support and seamless target integration. The Physical Design module will support code generation for SQL-schema building and 4GL target environments from Ingres and Informix. The project information will be stored in an open repository (Ingres and Informix).

  Westmount I-CASE OMT

  Westmount I-CASE OMT (Object Modeling Technique) is an Open Integrated Computer Aided Software Engineering (CASE) tool (based on X and OSF/Motif) for developers to meet the goals set by Object Modeling techniques running on Unix. This product supports all four phases and models described by Rumbaugh et al.. It provides full life-cycle support and seamless target integration. All information is stored in a central repository (Informix, Ingres or Sybase). Westmount I-CASE OMT generates client-server applications for C++, Ingres and Informix environments.

  Westmount Lite

  Westmount Lite is the most advanced database designer available in the market today. Westmount Lite designs, documents and maintains databases. Westmount Lite is also very useful for maintaining existing databases. A reverse engineering module supports in recreating the design for existing databases. Supported databases: Ingres, Informix, Oracle Integrated DTP packages: Framemaker, Interleaf, WordPerfect Development environment: Unix

  TCL/Tk;

  The code generation of all Westmount products is based on parsing diagrams and generating code from that. This conversion is written in C++, the generation in TCL. The advantage of that is that users can adapt the code generation themselves, which is even more interesting because they can also extend the diagram definitions.

  We have extended TCL with some features which converts diagrams from the repository into an internal datastructure (model) which can be accessed from within TCL.

  ### ENTRY P3. - Supervisory Control and Data Acquisition (SCADA) by

  Usage: Supervisory Control And Data Aquisition (SCADA) Company: Computerized Processes Unlimited Contact: Gerald W. Lester Email: gwl@cpu.com

  Computerized Processes Unlimited, Inc. (CPU) is an independent consulting system integrator. The company serves oil and gas energy and other process industries. Expertise represented among the principals and staff include requirements analysis, design and implementation competencies in process, electrical, mechanical, instrumentation, software, and control systems. The company s product is knowhow in technical areas it has targeted for business.

  CPU has embraced Tcl/Tk technology and made it the basis for its own powerful SCADA technology. In combination with Hewlett- Packard Company s RTAP Plus applications enabler product, CPU has engineered and delivered powerful SCADA systems.

  RTAP Plus is not a complete SCADA package. The user must furnish applications (including the GUI) to build the completed SCADA system. CPU has brought all of RTAP s API (i.e., call interface) up into Tcl as Tcl commands. The GUI and application programs are written in SCL Plus (Tcl/Tk with CPU s RTAP extensions). This technology has been implemented and delivered on the distributed client/server model.

  The most ambitious application of this technology is for an oil and gas production platform located in the Gulf of Mexico. Shell Offshore Incorporated s tension-leg platform, Auger, is designed to produce 40,000 barrels of oil per day and 150 million cubic feet of gas per day. This $1.2 billion facility began producing oil and gas in April, 1994. The monitoring and control system integrates numerous state-of-the-art technologies--in excess of 12 workstation-class computers on an ethernet network, communicating with over 40 programmable logic controllers, in a distributed data base environment, using both copper coaxial and fiber optic cable--in an open system architecture. The system is connected with all aspects of facility operation: production, drilling, utilities, and marine operations.

  CPU s Tcl/Tk effort for SCL Plus and this facility has resulted in excess of 250,000 lines of Tcl/Tk code, the largest known Tcl/Tk project to date.

  For information about the technology and CPU's services, contact:

  Gerald W. Lester Computerized Processes Unlimited 4200 S. I-10 Service Road, Suite #205 Metairie, LA 70001 Voice: (504)-889-2784 FAX: (504)-889-2799 E-Mail: gwl@cpu.com

  ### ENTRY P4. - NeoSoft Tcl

      Usage: Support
      Company: NeoSoft
      Contact: Karl Lehenbauer
      Email: sales@NeoSoft.com.

  NeoSoft Commercial Tcl Support

  Thank you for your interest in NeoSoft's commercial Tcl support. We offer a flexible support plan that can be tailored to your organization's needs.

  NeoSoft Tcl is our integration of the core Tcl technologies into a professionally maintained and supported release.

  Below is a description of NeoSoft Tcl and our Tcl services.

  To set up a support contract, or if you need more information, please contact us at +1 713 684 5969 9-4 M-F, or send email to sales@NeoSoft.com.

  NeoSoft Tcl:

  Includes the latest Tcl, Extended Tcl, Tk, and XF source.

  Includes the graph and photo widgets, compiled in at your option.

  NeoSoft's Tcl support libraries are included, providing useful tools such as dialog boxes, a file requester, and many additional functions.

  Includes xpm pixmap library to allow any widget's bitmap to be a color pixmap, TIFF, GIF, etc.

  Point releases of Tcl, Extended Tcl, Tk and XF integrated and made available within thirty days.

  Major releases made when code is stable and needed tools are available.

  No license is required to redistribute with an application.

  Documentation comes in nroff and postscript (tm) formats.

  Available via FTP, DC-600A data cartridge, DAT tape (in DATA/DAT format) or 3.5" high density floppy disks.

  Service types:

  Basic service: Source copy of NeoSoft Tcl. Binaries built on your machine using telnet or modem, if needed. Free updates for a year (available via FTP or media). 20 hours of remote support, including consulting, bug fixing, etc. Standard documentation set. Release notes. NeoSoft Tcl T-shirt (specify L or XL). Additional support available on an hourly basis.

  Price: $2500/year

  Additional services (billed as Time and Materials): Help desk. 24 hour emergency support. Training. On-site work. Hard-copy documentation sets. Software development. Software integration, release building and porting. Builds for additional architectures.

  ### ENTRY P5. - Other NeoSoft products

      Usage: Other
      Company: NeoSoft
      Contact: Karl Lehenbauer
      Email: sales@NeoSoft.com.

  Additional NeoSoft products: Tcl source encryption system. Tcl X-windows desktop. Control Station - programmable network monitoring software. CUTE - programmable, Tcl-based telecommunications program.

  To set up a support contract, or if you need more information, please contact us at +1 713 684 5969 9-4 M-F, or send email to sales@NeoSoft.com.

  ### ENTRY P6. - SYSTEM 9 Geographic Information System (TM)

      Usage: GIS
      Company: Unisys Canada Inc, GIS Division
      Contact: Alex Lee
      Email: alex@system9.unisys.com

  SYSTEM 9 Geographic Information System (TM) is a workstation based commercial software developed by the Unisys Corporation. It is being used worldwide in facility/utility management and mapping applications. Some of the SYSTEM 9 functionality includes spatial data capture and management, raster image processing, graphic data display and plotting, and client/server distributed processing. SYSTEM 9 currently runs on Solaris 1.x, 2.x, HP-UX 9.0, and IBM-AIX 3.2 platforms operating in the UNIX/X environment.

  With the increasing diversity of end user applications, SYSTEM 9 architecture allows users to build custom applications to meet specific requirements using the Application Tool Box (ATB)(TM) module. The ATB module supports Unix style commands that interface with underlying SYSTEM 9 functionality. In addition, a C API is also available for applications written in the C language.

  Currently, the Korn Shell (KSH)(TM) is being used as the scripting language for building applications. The majority of SYSTEM 9 customers are using KSH for customisation. The C API is used only by a few who require performance and have in-house 3GL programming support staff. One of the drawbacks of KSH is performance and a lack of GUI support. The Windowing Korn Shell (WKSH)(TM) from AT&T may fill the GUI gap, but the complexity of Xt/Motif syntax is beyond the comprehension of many of our customers (who are not trained programmers). This has led to the requirement for an extensible command/scripting language that supports GUI, easy to use, extensible, fast, and syntactically like KSH. This is where Tcl/Tk fits in.

  Our plan is to use Tcl/Tk as the front-end command parser/dispatcher which operates in sync with special tasked servers across the network. This fits in nicely as the client side C API of ATB is already in a format that can be easily integrated into Tcl. However, new protocols will be needed to allow servers to communicate with the Tcl/Wish interpreter or vice versa. The client/server model reduces the size of the interpreter and yet maximizes the processing power of networked machines.

  We expect to use Tcl/Tk as a common programming language for both internal core development as well as end user customization. Using Tcl to implement base functionality hopefully will give us a better turn around time in both development and field support. We also plan to establish guidelines and standards for building Tcl/TK applications to ensure consistency across our products.

  At time of writing, a prototype Tcl/Tk interpreter with a subset of SYSTEM 9 functionality is completed for internal evaluation. Also, the first draft of the Tk style guidelines is being reviewed. The tentative customer ship date of this product is around end of this year.

  We understand that the SYSTEM 9 GIS extension will not be public domain software, but by adopting Tcl/Tk in our product will help extend the Tcl/Tk horizon into the commercial arena, especially the ever expanding GIS market.

- - Cyberterm - a Networked 3D OS for PCs

  Usage: Cyberterm - a Networked 3D OS for PCs Company: Cyberterm Pty Ltd Contact: Michael Snoswell Email: snoswell@guest.adelaide.edu.au

  Cyberterm is a 3D type of operating system, a bit like a multi-user flight simulator where everyone can log into central servers via modems from their PCs. The servers can also be connected together to form a single huge cyberspace. All objects within the environment are user programmable, using Tcl, extended by about 150 functions for object manipulation, file and message handling, user interaction, environment control, networking, security and general administration.

  Tcl is used to write applications within the environment. Such applications currently include an artificial life demo with growing, breeding and evolving plants, herbivores and carnivores, a 3D file system manipulator and a multi-user shooting game.

  The system is currently in beta test. The server runs under QNX, the PC client under MSDOS (compiled with Watcom) using a slightly modified version of Tcl 7.3 (mainly for security reasons).

  ### ENTRY P8. - NANNY - CPU-time balancer for UNIX compute

  Usage: UNIX System Administration Company: Parallelograms Contact: Terry Coley Email: terry@pgrams.com Telephone: 818 577 5515 Fax: 818 577 5515

  NANNY

  Nanny is a Tcl-based CPU-time balancer for UNIX compute servers. Nanny automatically balances CPU-time between users and groups of users on single and multi-processor UNIX computers by periodically adjusting relative process priorities. Nanny can also be configured to automatically give high priority to a console user. Tcl scripts are used to configure Nanny. The package includes a Tk script which graphically displays the CPU-bound per user load for any Nanny host in your network.

  All Parallelograms products are enhanced with TCP/IP communications Tcl commands which are an extension of Kevin B. Kenny's tclTCP package. Included in the extensions are timers for creating applications which run periodically. Source code for this enhancement is freely available and distributable, with or without a license of Parallelograms products.

  Contact info@pgrams.com for more information and free trials.

  ### ENTRY P9. - KIS - Kernel Information System

      Usage: UNIX System Administration
      Company: Parallelograms
      Contact: Terry Coley
      Email: terry@pgrams.com
      Telephone: 818 577 5515
      Fax: 818 577 5515

  KIS ===

  The Kernel Information System allows rapid creation of platform-independent UNIX process management tools. KIS implements a single (multiple option) Tcl command which provides UNIX kernel information for any KIS host on your network. With just a few lines of script, you can query the state of processes throughout your network. KIS has powerful filtering capabilities to let you select only those processes of interest. For example, the filter "RSSIZE > 5MB && delta(CPU)/delta(TIMESTAMP) > 10%" will select all processes with a resident memory size greater than 5MB and using more than ten percent of CPU-time since the last scan. Perl users can also use the socket() function to obtain information from any KIS server.

  Parallelograms maintains a growing library of freely distributable KIS application scripts.

  All Parallelograms products are enhanced with TCP/IP communications Tcl commands which are an extension of Kevin B. Kenny's tclTCP package. Included in the extensions are timers for creating applications which run periodically. Source code for this enhancement is freely available and distributable, with or without a license of Parallelograms products.

  Contact info@pgrams.com for more information and free trials.

  ### ENTRY P10. - Telebit NetBlazer

      Usage: Scripting Language for Telebit NetBlazer
      Company: Telebit
      Contact: Bill Webb
      Email: webb@telebit.com
      Telephone: 1-800-Telebit
      Fax:       408-745-3810

  Telebit NetBlazer

  Telebit uses tcl (actually the non-Unix subset) as a scripting language for their Wide area router product (the Telebit NetBlazer).

  This allows customers to implement extentions to the NetBlazer in a convenient standard scripting language rather then by adding extentions to Telebit's existing interactive command language.

  Among other things that have been done with tcl scripts are to provide a global command that implements pattern matching on existing commands over users, files, routes, dialouts, etc. etc., and new ease-of-use scripts that allow users to avoid use a menu-like interface to configuring their NetBlazers.

  Telebit customers have also implemented their own scripts for their own needs that range from a few lines of code to hundreds or thousands of lines.

  ### ENTRY P11. - Cray Visualization

      Usage: User Interface Management Systems, Program Development Software
      Company: Cray Research
      Contact:
      Email:
      Telephone: (612)-683-7198
      Fax:

  Cray Visualization

  Cray Research, Inc. has announced Cray Visualization Toolkit 2.0 (CVT 2.0), which contains the most recent releases of six standard windowing and graphics tools for user interface development. The components included in CVT 2.0 are: X window System (X11R5), which lets users run X application on their Cray system and connect to any workstation, PC or terminal running the X Window System; Sun Microsystems's XView Toolkit 3.0, which supports XView applications on Cray systems; Open Software Foundation's (OSF) Motif Toolkit 1.2, which provides a library of graphical objects; Silicon Graphics' Distributed Graphics Library (DGL) which provides interactive three dimensional graphics; the PEXlib library of low-level graphics routines; and the Tk/Tcl toolkit command interpreter, which provides high-level access for X programming.

  Each of the toolkits in CVT 2.0 has been ported to the company's entire product line. For more information contact Cray Research, Inc., Eagan, MN, (612)-683-7198.

  ### ENTRY P12. - SCO Visual Tcl

      Usage:   System Management
      Company: SCO
      Contact: David H. Young
      Email: davidy@sco.com
      Telephone: 408 427 7784
      Fax:       408 427 5417

  SCO Visual Tcl

  SCO is distributing pre-release copies of SCO Visual Tcl at its SCO Forum '94 this week on the campus of UC Santa Cruz in California. It is now available on the SCO Skunkware 2.0 CD-ROM as well as the SCO on-line technical library (TLS) for anonymous uucp/ftp. SCO Visual Tcl is a new technology that extends the Tcl scripting enviornment with Motif 1.2-specific commands.

  "SCO Visual Tcl" is the SCO trademarked name for the revised version of the SCO technology formerly referred to as the "Widget Server." The new SCO Visual Tcl has been reworked to

- support a hierarchical, dot notation style of widget naming,
- provide more control of the Motif environment to the programmer, and
- enhanced widget callback support.

  The goals of SCO Visual Tcl are to

- provide a rapid environment to develop Motif and Character applications simultaneously, with a feature set highly-driven by the needs of systems management, and
- make it simple to graphically extend the SCO Open Desktop environment via an easy-to-use scripting environment.

  SCO Visual Tcl will be the graphical interface technology-of-choice for SCO's next generation system administration tools. While the primary purpose of SCO Visual Tcl is to simplify creation of system management interfaces, "Vtcl" is also quite capable of satisfying the needs of light-to-mediumweight general Motif application development.

  Key Features of SCO Visual Tcl include...

- Event-driven (callback) environment
- Display engines for both Motif 1.2 and curses-based Character Motif
- Point Help, Context-sensitive Help, and Status Line
- Convenience Function Library
- includes ToolBar, ComboBox, Spin support, and assorted widget combinations (e.g. text fields with labels or titles)
- DrawnList Widget (icons in list widget)
- Window Manager controls
- Relative-positioning geometry management
- Based on Public Domain U.C. Berkeley Tcl 7.3b
- POSIX-specific and other extensions
- e.g. fcntl, select, nice, kill, sockets, fmtclock, trace
- Package library support, as well as vtcllib.a and header files for those wishing to extend the Vtcl interpreter with C-based routines.

  IXI, a subsidiary of SCO, is planning to port Vtcl to other major Unix platforms.

  ### ENTRY P13. - SimCity

      Usage:   Game/Educational/Simulation
      Company: DUX Software
      Contact: DUX Software, 4906 El Camino Real, Suite 1, Los Altos, CA 94022
      Email: simcity@dux.com
      Telephone: 1-800-543-4999 or 1-415-967-1500
      Fax:       1-415-967-5528

  SimCity, the original award winning city simulation game from Maxis Software, now runs on powerful Unix workstations with X11! DUX's implementation of SimCity for Unix was awarded product of the year 1992 by Unix World in the January 1993 issue, and reviewed in the April 1993 issue. Now it's souped up, works with standard X11 servers, and even supports networked multi user collaboration! Multi Player SimCity is designed to be a fun cooperative educational experience!

  SimCity is a colorful animated interactive system simulation game, providing a set of rules and tools for planning and building a complex dynamic simulated city. Several people on different X11 workstations can participate in the same city, cooperating and coordinating their actions across the network.

  Working together, you can zone land use, hook up the power grid, build roads, bridges, parks and stadiums, raise taxes, and even summon disasters, causing the city to grow and thrive, or crumble and die. It's a creative, entertaining way to develop your political skills!

  Requirements

  SimCity runs on Silicon Graphics Irix, SPARC SunOS, and other Unix workstations. You can play it locally or over the network on most 8 bit color or monochrome X11 displays, like NCD X terminals. And you can hear it on standard sound devices, and NCD's NetAudio server.

  OPTIONS:

  SimCity supports but doesn't require the X11 shared memory and shaped window extensions, and a local sound device or NetAudio server. And you can turn off the sound so your boss doesn't know you're playing!

  FEATURES:

  Multi Player SimCity for X11 sports the Motif look and feel, implemented using the efficient TCL/Tk toolkit. It features multiple city editors and maps with overlays, fast colorful animation, engaging sound effects, easy to use pie menus and direct manipulation interaction, simultaneous multi player editing, communication and annotation facilities, and voting dialogs for group decision making. It includes eight challenging scenarios and a library of interesting cities.

  AVAILABILITY:

  Multi Player SimCity is available directly from DUX Software, and via anonymous ftp from ftp.uu.net (192.48.96.9), in the directory "vendor/dux/SimCity". You may freely copy it, and play the fully functional game in "demo mode" on one display without a license, but the city melts every 5 minutes. If you enjoy SimCity, you can buy a license over the phone by credit card, without leaving your seat! A single player license lets you save and restore your cities, and play for as long as you like on one display; a multi player license lets you play SimCity with your friends over the net!

  PRICING:

- Single Player Node Locked License: $49
- Multi Player Node Locked License: $89
- Single Player Floating License: $129
- Multi Player Floating License: $149

  NOTICE:

  X11 SimCity Copyright (C) 1993 by DUX Software Corporation. Unix implementation and multi player user interface by Don Hopkins, DUX. Based on the original SimCity concept and design by Will Wright, MAXIS. SimCity is a registered trademark of Maxis Software.

  ### ENTRY P14. - PARTEK software

      Usage:   Data Analysis, Visualization, Classification, and Prediction
      Company: PARTEK Inc.
      Contact: Tom Downey, PARTEK Inc. 5988 Mid Rivers Mall Dr.  St. Charles, MO 63304
      Email: tjd@partek.com
      Telephone: (314)-926-2329
      Fax:       (314)-441-6881

  PARTEK OVERVIEW

  PARTEK is a powerful, integrated environment for visual and quantitative data analysis and pattern recognition.

  Drawing from a wide variety of disciplines including Artificial Neural Networks, Fuzzy Logic, Genetic Algorithms, and Statistics, PARTEK integrates data analysis and modeling tools into an easy to use "point and click" system.

  PARTEK is available on HP, IBM, Silicon Graphics, and SUN workstations.

  The following modules are available from PARTEK:

  1. The PARTEK/AVB - The Analytical/Visual Base. (TM)

  Analytical Spreadsheet (TM) The Analytical Spreadsheet is a powerful and easy to use data analysis, transformations, and visualization tool. Some features include:

- import native format ascii/binary data
- no limit to number of rows or columns
- recognition and resolution of missing data
- complete set of common mathematical & statistical functions
- univariate histogram analysis
- extensive set of smoothing and normalization transformations
- easily and quickly plot color-coded 1-D curves and histograms, 2-D, 3-D, and N-D mapped scatterplots, highlighting selected patterns
- Command Line (Tcl) and Graphical Interface
- Graphical Interface to Row/Column Filters allows you to easily select the portion of your data you wish to analyze Pattern Visualization System (TM) The Pattern Visualization System offers the most powerful tools for visual analysis of the patterns in your data. Some features include:
- 2-D, 3-D Viewers can contain unlimited # of graphical objects
- automatically maps N-D data down to 3-D for visualization of *all* of your variables at once
- hard copy color Postscript output
- a variety of color-coding, highlighting, and labeling options allow you to generate meaningful graphics Data Filters Filter out selected rows and/or columns of your data for flexible and efficient cross-validation, jackknifing, bootstrapping, feature set evaluation, and more. Random # Generators Generate random numbers from any of the following parameterized distributions:
- uniform, normal, exponential, gamma, binomial, poisson Many distance/similarity metrics Choose the appropriate distance metric for your data:
- euclidean, mahalanobis, minkowski, maximum value, absolute value, shape coefficient, cosine coefficient, pearson correlation, rank correlation, kendall's tau, canberra, and bray-curtis Tcl/Tk command line interface Tcl/Tk are quickly becoming a standard in the Unix community as an easy to use, powerful, and extensible command and graphical scripting language.

  2. The PARTEK/DSA - Data Structure Analysis Module

  Principal Components Analysis and Regression Also known as Eigenvector Projection or Karhunen-Loeve Expansions, PCA removes redundant information from your data.

- dimensionality reduction
- data visualization
- component analysis, correlate PC's with original variables
- choice of covariance, correlation, or product dispersion matrices
- choice of eigenvector, y-score, and z-score projections
- view SCREE and log-eigenvalue plots
- principal component regression
- fully integrated with the PARTEK/AVB and Tcl command interface Cluster Analysis Does the data form groups? How many? How compact? Cluster Analysis is the tool to answer these questions.
- choose between several distance metrics
- optionally weight individual patterns
- manually or auto-select the number of clusters
- manually, randomly, or auto-select initial cluster centers
- dump cluster counts, mean, cluster to cluster distances, cluster variances, and cluster labeled data to a matrix viewer or the Analytical Spreadsheet for further analysis
- visualize n-dimensional clustering
- asses goodness of partion using several internal and external criteria metrics
- fully integrated with the PARTEK/AVB and Tcl command interface N-Dimensional Histogram Analysis Among the most inportant questions a researcher needs to know when analyzing patterns is whether or not the patterns can distinguish different classes of data. N-D Histogram Analysis is one tool to answer this question.
- measures histogram overlap in n-dimensional space
- no limit to size or resolution of histogram
- automatically find the best subset of features
- rank the overlap of your best feature combinations
- fully integrated with the PARTEK/AVB and Tcl command interface Non-Linear Mapping NLM is an iterative algorithm for visually analyzing the structure of n-dimensional data. NLM produces a non-linear mapping of data which preserves interpoint distances of n-dimensional data while reducing to a lower dimensionality - thus preserving the structure of the data.
- visually analyze structure of n-dimensional data
- track progress with error curves
- orthogonal, PCA, and random initialization
- fully integrated with the PARTEK/AVB and Tcl command interface 3. The PARTEK/CP - Classification and Prediction Module.

  Multi-Layer Perceptron The most popular among the neural pattern recognition tools is the MLP. PARTEK takes the MLP to a new dimension, by allowing the network to learn by adapting ALL of its parameters to solve a problem.

- adapts output bias, neuron activation steepness, and neuron dynamic range, as well as weights and input biases
- auto-scaling at input and output - no need to rescale your data
- choose between sigmoid, gaussian, linear, or mixture of neurons
- learning rate, momentum can be set independently for each parameter
- variety of learning methods and network initializations
- no size limitations
- view color-coded network, error, etc as network trains, tests, runs
- dump any parameters to Analytical Spreadsheet for further analysis
- fully integrated with the PARTEK/AVB and Tcl command interface Learning Vector Quantization Because LVQ is a multiple prototype classifier, it adapts to identify multiple sub-groups within classes
- LVQ1, LVQ2, and LVQ3 training methods
- 3 different functions for adapting learning rate
- choose between several distance metrics
- fuzzy and crisp classifications
- visually analyze prototypes & data from n-dimensional space
- set number of prototypes individually for each class
- no limit to the number of prototypes
- fully integrated with the PARTEK/AVB and Tcl command interface Bayesian Classifier Bayes methods are the statistical decision theory approach to classification. This classifier uses statistical properties of your data to develop a classification model.
- fully integrated with the PARTEK/AVB and Tcl command interface

  ### ENTRY P15. - Sibylla

      Usage:Tcl based World-Wide Web application development framework
      Company: Ariadne Engineering, 27020 Torre d'Isola (PV), Italy.
      Contact: Marcello Ricotti
      E-mail:ricotti@liber.unibo.it
      Tel (+39) 382 407538
      Fax (+39) 382 407538

  General Description

  Sibylla is an application development framework for World-Wide Web based application. Sibylla supports interfaces towards BasisPlus from Information Dimensions Inc., towards World-Wide Web (WWW) and, in general, towards applications running on the server computer. Sibylla allows the access, through Internet or TCP/IP LAN, to data stored in a BasisPlus database or managed by a server-side application.

  Sibylla lies between the information sources (e.g a database ), the user application and the WWW server. The user application is a custom application and defines, for each application, how the user can interact with the information sources.

  Purpose of Sibylla is to permit the access to information sources through WWW. Information can be organized, on the server side, using a DBMS (as BasisPlus) or through indexed HTML files, or getting data from a server application actived with parameters sent by the client. The server application is completely general and the duty of the user application, developed with Sibylla, is to manage the input/output between WWW and server application.

  Software, developed with Sibylla, is organized in simple modules which allow rapid application definition and prototyping together with simplicity in integrating external applications. Sibylla is a set of C functions which extends the official Tcl/Tk libraries allowing, from a Tcl script, manipulation of WWW related standard and functions as well as databases and server applications.

  SUPPORTED PLATFORM

  Sibylla architecture has been design in order to guarantee completely portability of user application among different hardawre and O.S. where Sibylla is available. Sibylla Ver 1.0 e 2.0 are available for Unix (SunOS 4.1.3/Solaris 1.1.1, HP-UX 9.0, OSF1 1.3) for VMS 5.5.2.

  SOFTWARE VERSIONS

  Version 1.0

  Version 1.0 is organized in a single read module with all Sibylla functions.

  Version 1.0 functions allow:

- communication with an HTTP server according with the CGI standard
- URL manipulation
- management of HTML documents ripetitive parts.
- BasisPlus access
- query building and sending to BasisPlus
- to activate server side application programs and to pass them parameters received by the WWW client
- to build reports merging queries and server application outputs

  BasisPlus conventional and continuos record can be accessed in Ver. 1.0.

  Sibylla ver. 1.0 will be released in December 1994. A user application using a Beta version of Sibylla will be available on the WEB by the end of November 1994 at Centro Interfacolt` per le Biblioteche, Bologna, Italy.

  Version 2.0

  Sibylla ver. 2.0 will be available in Summer 1995. This new version will contain a write module able to manage data input in BasisPlus records and will permit access to BasisPlus sectioned record. Moreover BasisPlus non standard document format will be managed by Sibylla and viewed on the WWW client using local browser. Http functions able to manage http protocol requests will permit multiserver-multiplatform information system development. Interface toward ORACLE database is under evaluation.

  System Architecture

  The simplest system architecture which uses Sibylla is composed of a WWW server, the Sibylla package, the information sources, the user application(s) and one or more WWW client. On the server computer where the information sources reside (the BasisPlus database, indexed HTML files, general applications) there is the Sibylla package too. The generic WWW client resides on another Internet (or TCP/IP ) connected computer. On the server computer there are the scripts, which constitute the user application, which defines how a user can interact with the information sources. For example we want the user prompted first with a static HTML home page which explains the service offered; then an HTML form can be selected to query the information system. The form data are managed by Sibylla and sent to the database or to any other information source kernel which contains the data required. Finally the user application get the data returned by the information source, format and (eventually) analyze them and send back all things to the client. Navigation (e.g the hierarchy of html files which defines how the information have to be presented to end user) is defined within the same user application which handle the user query. From the end user point of view Sibylla is completely transparent. The end user simply queries the information system and navigates through the dynamically generate HTML files. The end user has a single information view and do not have to take care of where the information is actually stored or how it is organized.

  ### ENTRY P16. - TclXess

      Usage: Spreadsheet
      Company: Applied Information Systems, Inc.
      Contact: 100 Europa Drive; Chapel Hill, NC 27514; USA
      E-mail: info@ais.com
      Tel: 1-919-942-7801
      Fax: 1-919-493-7563

  XESS - The Advanced Spreadsheet For Business and Technology

- Comprehensive functions, flexibility, and speed
- Real-time, protocol-independent data exchange and control of remote clients
- Presentation-quality color reports and graphs for business, science, and engineering
- Easy Integration with other client/server applications
- C and FORTRAN programming interfaces available

  As the first spreadsheet designed specifically for X Windows and Motif, XESS has always been a star performer. Its flexible environment accommodates complex calculations and data manipulation. Its extensive computational and graphical tools are ideal for both financial and scientific/engineering applications. And thanks to the unique XESS Connections API, this spreadsheet easily integrates with other applications for seamless sharing of data and control.

  Created for the demands of highly technical workstation computing, XESS provides a full range of mathematical, statistical, financial, matrix, and string functions. Yet it handles these complex calculations with the ease of a familiar spreadsheet format with attractive screen displays and an intuitive, point-and-click user interface.

  XESS is simple to learn, but well-equipped to handle sophisticated applications:

- Financial trading
- Statistical analysis
- Process control monitoring
- Interactive product design
- Laboratory experimentation
- Quality assurance testing
- Scientific visualization

  Functions

  In addition to traditional spreadsheet tasks, XESS supports all arithmetic, Boolean, and logical operators available in the C programming language. XESS has a wealth of functions for complex engineering, scientific, and financial calculations.

  With XESS's embedded tools, you can enter and recalculate matrix, vector, and Fourier transform operations as easily as other spreadsheet functions. You can use constraint expressions to indicate when cell values are outside desired boundaries or use goal-seeking to solve a system of equations to a desired value. XESS also includes powerful tools for searching, sorting, and data visualization capabilities.

  Enhanced Graphics

  XESS puts presentation graphics at your fingertips. Build basic graphs with a single selection and mouse click, use colors and shading to emphasize differences, then print the graph or export it to your favorite publishing system.

  You can see your data in the form you prefer, from simple pie chart to complex 3D surface, or both at once. As your data changes, your graphs change automatically, and dynamic annotation highlights important aspects of the results. View your graphs in separate windows or place them on the sheet with your data.

  Real-Time Client/Server Integration

  XESS's most compelling feature is its ability to adapt to a changing world. While most spreadsheets capture only a snapshot in time, XESS reflects live action, sending and receiving data and commands from other client/server programs -- even on other computers -- and automatically recalculating the affected worksheets.

  XESS runs under Motif on UNIX and OpenVMS workstations. This operating environment is especially valuable for engineers, scientists, financial traders, and other professionals who require powerful computing, ease-of-use, and hardware flexibility.

  XESS users can transfer data between spreadsheets running on different computers. And with the Connections API toolkit for C and FORTRAN, other applications can transfer data into or out of an XESS spreadsheet as the data is calculated. Your XESS spreadsheet can display a real-time summary of data originating on networked computers in other buildings, cities, or countries. And applications can control all aspects of the spreadsheet.

  While other programs fade away, XESS remains a bright star in the client/server universe. With its smooth touch, powerful technology, impeccable graphics, and total flexibility, XESS defines what a spreadsheet should be.

  Selected XESS Features

  The XESS Environment

- Standard Motif Graphical User Interface
- Main menu bar with pulldown sub-menus
- Industry-standard spreadsheet orientation
- Mouse or keyboard actions
- Maximum 4,096 columns and 32,767 rows
- Multiple spreadsheets can be active simultaneously
- Copy and paste between active spreadsheets and with other applications
- Cells/ranges referenced by address or name
- Undo previous operation
- Spreadsheets stored as text for easy mailing

  Formatting the Display

- Full WYSIWYG user interface
- User-selectable colors for foreground/background, highlight, titles, etc.
- User-selectable cell formats (hex, dollars, etc.)
- User-selectable type fonts, sizes, and styles
- International character support
- Cells aligned left, right or center
- Multi-line text with word wrap
- Best-fit column and row sizes
- Simplified date entry

  Data Manipulation

- Copy/move formulas or values to other spreadsheets maintaining formulas and formats
- Search by textual, numeric, or Boolean expressions
- Sort in ascending or descending order maintaining all cell dependencies
- Goal-seeking

  XESS Calculations

- Unique high-performance calculation engine
- Arithmetic, conditional, Boolean operations
- C language or standard spreadsheet operators
- Double-precision calculation
- Iterative calculations
- Cell linking between sheets
- Formula constraint checking

  Mathematical Functions

- Sum, product, absolute value
- Logarithm with base 10, base 2, base e
- Square root, square root of a sum of squares
- Uniform and Gaussian random numbers
- Nth degree polynomial
- Sigmoid function
- Gamma and log gamma functions
- Visual sum
- Interpolation
- Matrix determinant and dot product
- Exponential function
- Trig and Hyperbolic trig functions

  Financial Functions

- Extensive financial functions
- Depreciations
- Present and future values
- Investment, annuity, and security functions
- Treasury bills and various coupons
- Interest rates and internal rates of return
- Yield calculations
- Specialized date calculations

  Statistical Functions

- Maximum, minimum, median, sum
- Standard deviation of population or sample
- Variance of a population or sample
- T and F distributions
- Paired and unpaired t tests
- Sum and mean of squares
- Geometric and harmonic means
- Correlations and multiple regressions
- Conditional statistical functions

  Embedded Tools

- Matrix multiply and inverse
- Eigenvalues
- Fourier transforms and inverses
- Linear equation solving
- Correlation matrices
- Curve fitting

  String Functions

- Complete suite of functions for string manipulation and conversions including regular expressions

  Other Functions

- Date and time functions
- Indirect cell reference functions
- Table look-ups
- External alarms and controls
- Logic and digital logic functions
- Plus many more

  Graphs and Charts

- Surface, scatter, line, pie, X-Y, high-low, contour, polar, histogram, and bar graphs
- Multiple graphs in independent windows or on sheet with data
- Automatic updating when data changes
- Multiple data ranges
- Dynamic graph annotation
- 3D graph rotation
- Graph shading and coloring
- PostScript (EPS) output with color

  Communicating with Other Programs

- Unique Connections API Toolkit for developing client/server applications with XESS
- Dynamic links with other X Windows programs, even at remote locations
- PostScript, ASCII or LaTeX print formats
- Import/export sheets in WKS or WK1 formats
- Import/export data in files
- Flexible License Manager

  XESS is a licensed trademark of Applied Information Systems, Inc. All others are trademarks of their respective holders.

  Tcl/Tk Interface for XESS Spreadsheet Simplifies Application Development

  Applied Information Systems has tclXess, a Tcl/Tk interface for its XESS spreadsheet product under Unix and OpenVMS. This makes it easier to construct advanced applications which integrate the XESS spreadsheet with other products. AIS has placed the sources for tclXess online in the Tcl archives at ftp.aud.alcatel.com:/tcl and at ftp.uu.net:/vendor/ais in the file tclXess-1.0.0B.tar.gz.

  The tclXess interface between XESS and Tcl/Tk is derived from work done at General Electric Corporate Research and Development under DARPA contract MDA972-88-C-0047. AIS will provide continuing development and support of this interface software.

      Approved: news-answers-request@MIT.EDU
      Archive-name: tcl-faq/commercial-uses/part3
      Version: 3.1
      Last-modified: September 29, 1994
      Posted: Around the 1st of each month
      Posting-Frequency: Around the 1st of each month

  # Tcl/Tk Commercial Uses - Part 3: Training

  This file contains brief descriptions of commerical training options for Tcl/Tk. If you have questions about specific postings, contact the person who made the submission directly. The purpose of this listing is to show that Tcl/Tk is being used in commercial products and to discuss that use. Part 1 contains a complete index.

  ## Index - Part 3 Only

- Training by AT&T: "Object Oriented Programming with [incr Tcl]"

- Training by Computerized Processes Unlimited: "Introduction to Programming in Tcl/Tk"

- Training by Computerized Processes Unlimited: "Building Graphical User Interfaces in Tk"

- Training by Computerized Processes Unlimited: "Extending Tcl via C"

- Training by NeoSoft: "Tcl and Tk: An Applications-Based Approach"

  Each posting is prefaced by a line with dashes so you can search to the beginning of the next message.

  Please submit further postings to gwl@cpu.com

  ### ENTRY T1. - Object Oriented Programming with [incr Tcl]

      Usage: Training
      Company: AT&T Bell Laboratories
      Contact: Michael J. McLennan
      Email: michael.mclennan@att.com

  Course Title: Object-Oriented Programming with [incr Tcl] Course Length: 2 Days Course Format: Course material is presented in a lecture format. Course Description: When Tcl/Tk scripts grow larger than a few hundred lines, the code complexity can be difficult to manage. [incr Tcl] provides a set of object-oriented extensions for the Tcl language, enabling programmers to write high-level building blocks that are more easily assembled into a finished application. This course describes object-oriented programming with [incr Tcl]. Fundamental concepts are presented on the first day, showing how [incr Tcl] can be used to write more modular code. On the second day, these same concepts are used to create "mega-widgets", high-level widgets that look and act like the usual Tk widgets but are constructed entirely with [incr Tcl] code.

  Topics include:

- Designing object classes
- Public/protected data members
- Shared data members
- Member functions (methods)
- Inheritance
- Multiple inheritance
- Object construction/destruction
- Manipulating scope
- Persistent objects
- Anatomy of a mega-widget
- A mega-widget base class
- Example widgets
- Adding new bindings
- Creating reusable libraries Course Level Technical: Beginner to Intermediate Prerequisites Exposure to tcl/tk programming concepts

  For pricing and availablity information, please contact:

  Michael J. McLennan AT&T Bell Laboratories 1247 S. Cedar Creast Blvd., Rm 2C-226 Allentown, PA 18103

  Voice: (610)-712-2842 FAX: (610)-712-3843 E-Mail: michael.mclennan@att.com

  ### ENTRY T2. - Introduction to Programming in Tcl/Tk

      Usage: Training
      Company: Computerized Processes Unlimited
      Contact: Gerald W. Lester
      Email: gwl@cpu.com

  Course Title: Introduction to Programming in Tcl Course Length: Two (2) days Course Format: Course material is presented in a lecture format and through a hands-on laboratory using a network of X terminals connected to a RISC workstation. Course Description: This course introduces the participant to programming in Tcl/TclX. Topics include:

- Variables
- Arrays
- Lists
- Keyed Lists
- Syntax
- Flow control
- Procedures
- Creating
- Invoking
- Passing variables
- Passing arrays
- Passing lists
- Running programs from Tcl
- Communicating with child processes
- Signal handling
- Error processing
- Accessing system facilities
- Programming techniques
- Using autoloading procedures
- Proper use of quoting Course Level: Technical: Beginner to Intermediate Prerequisites: Use of vi or emacs editors; exposure to programming concepts; use of csh/ksh (not programming).

  For pricing and availablity information, please contact:

  Gerald W. Lester Computerized Processes Unlimited 4200 S. I-10 Service Road, Suite #205 Metairie, LA 70001

  Voice: (504)-889-2784 FAX: (504)-889-2799 E-Mail: gwl@cpu.com

  ### ENTRY T3. - Building Graphical User Interfaces in Tk

      Usage: Training
      Company: Computerized Processes Unlimited
      Contact: Gerald W. Lester
      Email: gwl@cpu.com

  Course Title: Building Graphical User Interfaces in Tk Course Length: 2 Days Course Format: Course material is presented in a lecture format and re-enforced through a hands-on laboratory using a network of X terminals connected to a RISC workstation. Course Description: This course introduces the participant to building graphical user interfaces using Tcl/Tk. Topics include:

- Background Concepts
- A tour of the widgets
- Adding Bindings
- Widget Class Bindings
- Geometry Managers
- Running programs from Tcl/Tk
- Communicating with child processes
- Writing widgets in Tcl/Tk
- Programming techniques
- Proper use of quoting
- Interface Builders for Tk Course Level: Technical: Beginner to Intermediate Prerequisites: CPU's "Introduction to Programming in Tcl" course or understanding and experience using Tcl

  For pricing and availablity information, please contact:

  Gerald W. Lester Computerized Processes Unlimited 4200 S. I-10 Service Road, Suite #205 Metairie, LA 70001

  Voice: (504)-889-2784 FAX: (504)-889-2799 E-Mail: gwl@cpu.com

  ### ENTRY T4. - Extending Tcl via C

      Usage: Training
      Company: Computerized Processes Unlimited
      Contact: Gerald W. Lester
      Email: gwl@cpu.com

  Course Title: Extending Tcl via C Course Length: 1 Day Course Format: Course material is presented in a lecture format and through a hands-on laboratory using a network of X terminals connected to a RISC workstation. Course Description: This course teaches how to add new commands to Tcl via C. Topics include:

- Approaches to adding commands
- Action vs Object
- New tcl/tk shell vs embedding
- Creating a new Tcl Command
- Returning Results
- Creating a new shell
- Conversion functions
- Accessing Tcl variables
- Mapping Tcl variables to C variables
- Tracing Tcl variables
- Executing Tcl commands from C
- Embedding into an applications Course Level: Technical: Intermediate to Advanced Prerequisites: Use of vi or emacs editors; knowledge of Tcl; C programming experience.

  For pricing and availablity information, please contact:

  Gerald W. Lester Computerized Processes Unlimited 4200 S. I-10 Service Road, Suite #205 Metairie, LA 70001

  Voice: (504)-889-2784 FAX: (504)-889-2799 E-Mail: gwl@cpu.com

  ### ENTRY T5. - Tcl and Tk: An Applications-Based Approach

      Usage: Training
      Company: NeoSoft
      Contact: Karl Lehenbauer
      Email: sales@NeoSoft.com.

  NeoSoft Tcl and Tk Training Information

  NeoSoft is perhaps the premier corporate contributor to the Tcl and Tk toolkit efforts. Our groundbreaking work in Tcl and Tk dates back to its first appearance in 1990, and is reflected by the copious amount of concepts and code taken from Extended Tcl for use in the Tcl baseline. We continue to collaborate with Dr. John Ousterhout, the author of baseline Tcl and Tk, on the forthcoming release of Tcl 7.0 and Extended Tcl 7.0.

  NeoSoft's Tcl training efforts have been a natural outgrowth of our work with, and extensions of, Tcl.

  The philosophy of the course is one of immediate, maximum impact by rapid immersion into hands-on building of X-windows graphical user interfaces and the Tcl programs that underly a number of useful applications. This approach grew out of our first-generation Tcl training course, where we discovered that students became very excited once the Tk toolkit was introduced and they could begin typing statements and interactively creating sophisticated X-windows interfaces.

  This same philosophy is the backbone of a book we're writing, Tcl and Tk: An Applications-Based Approach, due to be published in the first quarter of 1994 by Prentice-Hall Technical Publications.

  Training Options

  We are flexible and can customize a course to your specific needs. We have found that almost everyone is content with one of a few options. The class lasts for two or three days, at your option. The class can be structured to support new Tcl and Tk users and/or users with significant prior experience. In either case, it is nice to allocate some unstructured time at the end of the class to talk about specific applications and issues that the students are interested in, including new users, approaches, tools, environments, and the future of Tcl itself.

  Course Location and Times

  The course can be taught at your company's facility, or at our training facility located in Houston, Texas. Enrollment is limited to ten people per class to provide a substantial amount of instructor attention to each student. If the course it to be held at your company's facility, there should be no less than one workstation per two students, if at all possible. The class can be taught over a weekend. Contact NeoSoft for pricing and availability.

  Instructor

  The class will be taught by Karl Lehenbauer, the co-author of Extended Tcl. Karl is an experienced trainer, having taught and/or developed previous courses on Unix, Unix system administration and Tcl/Tk.

  Course Goals

  Teach Tcl and Tk with the maximum impact by building real world applications in the classroom.

  Site Prerequisites

  Integrated copy of Tcl and Tk, including Extended Tcl, running on site.

  Course Contents

  Below is the list of basic sections of the class, beginning with the elementary things that we would teach to users without prior Tcl experience and ending with building several tools that are useful, real-world applications in their own right. We can work with you to tailor the course to your organization's specific needs.

  Section 1 Hello, World

  Concepts: Typing commands interactively into the interpreter. The most important command in Tcl: "proc" Passing arguments to Tcl procedures. The C "Hello, World" koan in a graphical context: The button command The pack command

  Section 2 Making Choices with Buttons

  Concepts: Variables and variable substitution Radiobuttons Checkbuttons More on the pack command

  Section 3 A quartet of application launchers

  Concepts: Launching applications Tcl Language elements: Variable assignment Conditional expressions Beginning file I/O Square-bracket substitution Generating window elements from data Accessing command line arguments

  Section 4 Building a support library: The dialog box

  Concepts: The message widget Control structures: if/else/endif Default values for procedure arguments First mention of Tk's event loop Subordinate toplevel windows 'tkwait' to support sequential control

  Section 5 Building pulldown and popup menus

  Concepts: The menu widget Binding commands to keypress events

  Section 6 A few simple but useful applications

  Concepts: Intermediate file I/O Delayed execution with 'after' Temporal commands (getclock, fmtclock) Capturing a spawned command's output in a variable

  Section 7 Building a support library: The file selector

  Concepts: The listbox and scrollbar widgets The frame widget More about the packer

  Section 8 Creating a text editor with the text widget

  Concepts: The text widget Text widget tags More about key bindings Integrating support library examples

  Section 9 Creating a hypertext system with the text widget

  Concepts: More about the text widget More about text widget tags Builds on the text editor

  Section 10 X resource customizer

  Concepts: Use of the "send" command to access another interpreter. More about text widget tags. Builds on the text editor to make a new tool.

  Section 11 Introduction to the canvas widget

  Concepts: Introduces the canvas widget. Tags and tag processing. More on list processing. Use of different canvas widget types.

  Section 12 A second encounter with the canvas widget

  Concepts: Commands and options within the canvas widget. Combining items with actions. A new application launcher.

  Section 13 Creating a drawing tool with the canvas widget

  Concepts: Traversing items within a canvas widget.

  Section 14 Sysadmin tool: New user creator

  Section 15 Sysadmin tool: ttytab editor

  Section 16 Developer tool: The proc browser

  Concepts: More on using "send" to access another interpreter. Using "info" to find variables and procedures. Using entry widgets.

  Section 17 Color editor

  Concepts: Slider widget Performing math with the "expr" command

  To set up a support contract, or if you need more information, please contact us at +1 713 684 5969 9-4 M-F, or send email to sales@NeoSoft.com.