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 
======================================

0. Rumors and other miscellaneous... 

P1. Use of TCL/TK for Computational Fluid Dynamics Applications 

P2. CASE Tool Code Generation 

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

P4. NeoSoft Tcl 

P5. Other NeoSoft products 

P6. SYSTEM 9 Geographic Information System (TM) 

P7. Cyberterm - a Networked 3D OS for PCs 

P8. NANNY - CPU-time balancer for UNIX compute servers 

P9. KIS - Kernel Information System 

P10. Telebit NetBlazer 

P11. Cray Visualization Toolkit 

P12. SCO Visual Tcl 

P13. SimCityl 

P14. PARTEK software 

P15. Sibylla 

P16. TclXess 

Index - Part 3: Training 
=========================

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

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

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

T4. Training by Computerized Processes Unlimited: "Extending Tcl via C" 

T5. 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 
====================

0. Rumors and other miscellaneous... 

P1. Use of TCL/TK for Computational Fluid Dynamics Applications 

P2. CASE Tool Code Generation 

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

P4. NeoSoft Tcl 

P5. Other NeoSoft products 

P6. SYSTEM 9 Geographic Information System (TM) 

P7. Cyberterm - a Networked 3D OS for PCs 

P8. NANNY - CPU-time balancer for UNIX compute servers 

P9. KIS - Kernel Information System 

P10. Telebit NetBlazer 

P11. Cray Visualization Toolkit 

P12. SCO Visual Tcl 

P13. SimCityl 

P14. PARTEK software 

P15. Sibylla 

P16. 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
==========================================================
Applications 
=============

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
===============================================================
Computerized Processes Unlimited, Inc. 
=======================================

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. 

--------------------------------- 

P7. - 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
======================================================
servers 
========

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 

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

The goals of SCO Visual Tcl are to 

 o provide a rapid environment to develop Motif and Character
   applications simultaneously, with a feature set highly-driven by the
   needs of systems management, and 
 o 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... 

 o Event-driven (callback) environment 
 o Display engines for both Motif 1.2 and curses-based Character Motif 
 o Point Help, Context-sensitive Help, and Status Line 
 o Convenience Function Library 
    o includes ToolBar, ComboBox, Spin support, and assorted
      widget combinations (e.g. text fields with labels or titles) 
 o DrawnList Widget (icons in list widget) 
 o Window Manager controls 
 o Relative-positioning geometry management 
 o Based on Public Domain U.C. Berkeley Tcl 7.3b 
 o POSIX-specific and other extensions 
    o e.g. fcntl, select, nice, kill, sockets, fmtclock, trace 
 o 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:
========

 o Single Player Node Locked License: $49 
 o Multi Player Node Locked License: $89 
 o Single Player Floating License: $129 
 o 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: 
       o import native format ascii/binary data 
       o no limit to number of rows or columns 
       o recognition and resolution of missing data 
       o complete set of common mathematical & statistical
         functions 
       o univariate histogram analysis 
       o extensive set of smoothing and normalization
         transformations 
       o easily and quickly plot color-coded 1-D curves and
         histograms, 2-D, 3-D, and N-D mapped scatterplots,
         highlighting selected patterns 
       o Command Line (Tcl) and Graphical Interface 
       o 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: 
       o 2-D, 3-D Viewers can contain unlimited # of
         graphical objects 
       o automatically maps N-D data down to 3-D for
         visualization of *all* of your variables at once 
       o hard copy color Postscript output 
       o 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: 
       o uniform, normal, exponential, gamma, binomial,
         poisson 
   Many distance/similarity metrics 
      Choose the appropriate distance metric for your data: 
       o 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. 
       o dimensionality reduction 
       o data visualization 
       o component analysis, correlate PC's with original
         variables 
       o choice of covariance, correlation, or product
         dispersion matrices 
       o choice of eigenvector, y-score, and z-score
         projections 
       o view SCREE and log-eigenvalue plots 
       o principal component regression 
       o 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. 
       o choose between several distance metrics 
       o optionally weight individual patterns 
       o manually or auto-select the number of clusters 
       o manually, randomly, or auto-select initial cluster
         centers 
       o 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 
       o visualize n-dimensional clustering 
       o asses goodness of partion using several internal and
         external criteria metrics 
       o 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. 
    o measures histogram overlap in n-dimensional space 
    o no limit to size or resolution of histogram 
    o automatically find the best subset of features 
    o rank the overlap of your best feature combinations 
    o 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. 
    o visually analyze structure of n-dimensional data 
    o track progress with error curves 
    o orthogonal, PCA, and random initialization 
    o 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. 
          o adapts output bias, neuron activation
            steepness, and neuron dynamic range, as well
            as weights and input biases 
          o auto-scaling at input and output - no need to
            rescale your data 
          o choose between sigmoid, gaussian, linear, or
            mixture of neurons 
          o learning rate, momentum can be set
            independently for each parameter 
          o variety of learning methods and network
            initializations 
          o no size limitations 
          o view color-coded network, error, etc as
            network trains, tests, runs 
          o dump any parameters to Analytical
            Spreadsheet for further analysis 
          o 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 
          o LVQ1, LVQ2, and LVQ3 training methods 
          o 3 different functions for adapting learning rate 
          o choose between several distance metrics 
          o fuzzy and crisp classifications 
          o visually analyze prototypes & data from
            n-dimensional space 
          o set number of prototypes individually for each
            class 
          o no limit to the number of prototypes 
          o 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. 
          o 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: 

 o communication with an HTTP server according with the CGI
   standard 
 o URL manipulation 
 o management of HTML documents ripetitive parts. 
 o BasisPlus access 
 o query building and sending to BasisPlus 
 o to activate server side application programs and to pass them
   parameters received by the WWW client 
 o 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 
============================================================

 o Comprehensive functions, flexibility, and speed 
 o Real-time, protocol-independent data exchange and control of
   remote clients 
 o Presentation-quality color reports and graphs for business, science,
   and engineering 
 o Easy Integration with other client/server applications 
 o 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: 

 o Financial trading 
 o Statistical analysis 
 o Process control monitoring 
 o Interactive product design 
 o Laboratory experimentation 
 o Quality assurance testing 
 o 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 
---------------------

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

Formatting the Display 
-----------------------

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

Data Manipulation 
------------------

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

XESS Calculations 
------------------

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

Mathematical Functions 
-----------------------

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

Financial Functions 
--------------------

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

Statistical Functions 
----------------------

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

Embedded Tools 
---------------

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

String Functions 
-----------------

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

Other Functions 
----------------

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

Graphs and Charts 
------------------

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

Communicating with Other Programs 
----------------------------------

 o Unique Connections API Toolkit for developing client/server
   applications with XESS 
 o Dynamic links with other X Windows programs, even at remote
   locations 
 o PostScript, ASCII or LaTeX print formats 
 o Import/export sheets in WKS or WK1 formats 
 o Import/export data in files 
 o 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 
====================

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

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

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

T4. Training by Computerized Processes Unlimited: "Extending Tcl via C" 

T5. 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: 

    o Designing object classes 
    o Public/protected data members 
    o Shared data members 
    o Member functions (methods) 
    o Inheritance 
    o Multiple inheritance 
    o Object construction/destruction 
    o Manipulating scope 
    o Persistent objects 
    o Anatomy of a mega-widget 
    o A mega-widget base class 
    o Example widgets 
    o Adding new bindings 
    o 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: 
       o Variables 
       o Arrays 
       o Lists 
       o Keyed Lists 
       o Syntax 
       o Flow control 
       o Procedures 
          o Creating 
          o Invoking 
          o Passing variables 
          o Passing arrays 
          o Passing lists 
       o Running programs from Tcl 
       o Communicating with child processes 
       o Signal handling 
       o Error processing 
       o Accessing system facilities 
       o Programming techniques 
          o Using autoloading procedures 
          o 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: 
       o Background Concepts 
       o A tour of the widgets 
       o Adding Bindings 
       o Widget Class Bindings 
       o Geometry Managers 
       o Running programs from Tcl/Tk 
       o Communicating with child processes 
       o Writing widgets in Tcl/Tk 
       o Programming techniques 
          o Proper use of quoting 
       o 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: 
       o Approaches to adding commands 
          o Action vs Object 
       o New tcl/tk shell vs embedding 
       o Creating a new Tcl Command 
       o Returning Results 
       o Creating a new shell 
       o Conversion functions 
       o Accessing Tcl variables 
       o Mapping Tcl variables to C variables 
       o Tracing Tcl variables 
       o Executing Tcl commands from C 
       o 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. 

