Developer Site
Getting StartedTcl AdvocacySoftware ResourcesDocumentsCommunityLinks
HomeHosted by Noumena Corporation
Tcl'ers Wiki | List Archives | News and Events | TclUrl | Features | People | Web Sites |  Tcl'2004 |
Main | CFP | Schedule | Tutorials | Registration | Info

11'th Annual Tcl/Tk Conference

October 11 - 15, 2004
New Orleans, Louisiana, USA

Important Information
Abstracts and proposals due July 1, 2004
Notification to authors July 31, 2004
Author materials due Sep 15, 2004
Conference starts Oct 13, 2004
Email Contact

One of the many great reasons to attend the Tcl conference is the tutorials presented by renowned leaders and experts in the Tcl community. They will be sharing with you their knowledge of Tcl/Tk and its extensions, and experience in developing large, versatile and robust applications - information and techniques which will assist you in your day-to-day Tcl programming needs.

Monday Morning Monday Afternoon

Intro to Tcl (Ken Jones)
Secrets of TclHttpd (Brent Welch)

Intro to Tk (Ken Jones)
Starkits (Steve Landers)
Tcl Database Survey (Clif Flynt)
Tuesday Morning Tuesday Afternoon

Advanced Tcl (Packages & Namespaces) (Clif Flynt)
Metakit Database (Steve Landers)

Advanced Tk: GUI Appearance (Jeff Hobbs)
Tcl API: Embedding and Extending Tcl (Clif Flynt)

Tutorial Information

Monday Morning, October 11th

Introduction to Tcl (Ken Jones)
Pre-requisities: None

This session introduces all the Tcl basics, including loops, procedures, variables, and data types. Students who can't spell Tcl at the start of the session will be ready to write applications by the end of the session.

Secrets of TclHttpd (Brent Welch)
Pre-requisities: Basic knowledge of Tcl and HTML

The TclHttpd server is one of the big secrets in the HTTP world. It's stable, extensible, easily embedded in hardware or software, and includes a set of facilities other http servers don't have. Brent Welch explains how to get the most out of a very versatile package.

Monday Afternoon, October 11th

Introduction to Tk (Ken Jones)
Pre-requisities: Basic knowledge of Tcl

With remarkably little code, you can add a full-featured GUI to your application that will have a platform-native appearance on Windows, Unix, and Macintosh. In this course you'll explore all the Tk interface components, learn how to modify and extend their behaviors, and see how to put them together into complex multi-window applications.

This session complements the morning Tcl session.

Tcl Database Survey (Clif Flynt)
Pre-requisities: Basic knowledge of Tcl

An overview of SQL oriented Tcl extensions including OraTcl, SybTcl, TclODBC, and SQLite, and some non-SQL extensions including metakit and e4graph.

Starkits (Steve Landers)
Pre-requisities: Basic knowledge of Tcl

A Starkit is a single file packaging of Tcl scripts, platform specific compiled code and application data; designed to facilitate simple deployment of cross-platform applications. Tclkit (itself a Starkit) is a single file Tcl/Tk interpreter used to run Starkits. It also includes the Metakit database and the [Incr Tcl] object oriented Tcl extension and, with versions available for over 30 platforms from PDAs to mainframes, Tclkit is one of the easiest ways of installing Tcl/Tk. A Starkit may be combined with a specific Tclkit version to create a self-contained single file application, providing an "installation-free" deployment model for even the most complicated Tcl/Tk applications.

This session will describe how to assemble Starkits and Starpacks and, by example, discuss applications such as the Tcl web server and Wikit (the wiki implementation behind the Tcler's Wiki). It will show how to use compressed versions of Tclkit on specific platforms - showing the development of a stand-alone web application (including web server) that fits on a single floppy disk. The session will also look at some advanced topics such as incorporating compiled code for multiple platforms into Starkits, and the use of the new Starsync facility to update Starkits from a repository.

Tuesday Morning, October 12th

Advanced Tcl (Clif Flynt)
Prerequisites: Basic Tcl programming knowledge.

This session will describe how to modularize your scripts from simple procedures and the source command to using namespaces and packages as well as using upvar and uplevel to control access to data. The class will also cover techniques for separating GUI code from business-rule code including using the bind command and variable tracing, to bind actions to events. Examples include a Tower of Hanoi game and a Nuclear Reactor simulator.

Metakit Database (Steve Landers)
Prerequisites: Basic Tcl programming knowledge and a grasp of database fundamentals

Ever wanted to use advanced database features like join, project in Tcl? What about changing schemas on the fly - all scripted and with no database server necessary? The good news is that you can - using the new oomk interface to Metakit.

The Metakit database is a small, efficient embedded library that fills the gap between flat-file, relational, object-oriented, and tree-structured databases. It supports advanced features such as relational joins, serialization, nested structures, and instant schema evolution. Metakit works well for moderate-size (a hundred Mb) datasets, and offers good performance well beyond that size when its column-wise data model is fully taken advantage of.

Metakit is included in Tclkit and ActiveState's TclDevKit - and so is already available in the most popular Tcl/Tk distributions.

This tutorial covers the basic metakit concepts (including column-wise storage and dynamic schema evolution), but also introduces the advanced features of Metakit, newly available to Tcl programmers via the oomk extension. These features include:

  • relational operators like project, select, join and groupby
  • hierarchical operations involving subviews
  • set operators like concat, different, intersect, minus, product, union
  • hashed and indexed access for performance
  • blocked access for scalability

Tuesday Afternoon, October 12th

Advanced Tk: GUI Appearance (Jeff Hobbs)
Prerequisites: Good grasp of Tcl and Tk fundamentals.

There's a big difference between a quick and dirty GUI and a good looking professional GUI. Jeff will explain the newer features Tk has added to create a solid GUI you can be proud to send to a customer.

Tcl API: Embedding and Extending Tcl (Clif Flynt)
Prerequisites: Some knowlege of C and Tcl.

This exciting half day course will describe how to build extensions, and how to embed the Tcl interpreter into a "C" program. Topics covered include the basic extension architecture, adding a new command to Tcl, moving data from Tcl script to C and back, passing status information back to a script, using the Tcl hash table, creating commands with subcommands, parsing options and packaging an extension to allow it to be loaded with package require. creating and initializing a Tcl interpreter within another application, reading configuration files, generating a Tk GUI from within "C" code, and extending application behavior with user scripting.

Contact Information

Top of page
Developer Home | Getting Started | Tcl Advocacy | Software Resources | Documents | Community | Links
Site Map | Feedback |
Increase page width

Last modified: September 08, 2004