Tcl HomeTcl Home Hosted by
ActiveState

Google SiteSearch

13th Annual Tcl/Tk Conference

Main Registration Schedule Tutorials Info

October 9-13, 2006
Holiday Inn Select
Naperville, Illinois USA

Important Information
Abstracts and proposals due June 30, 2006
Notification to authors July 31, 2006
Author materials due September 30, 2006
Tutorials start October 9, 2006
Conference starts October 11, 2006
Email Contact [email protected]

We are pleased to announce the 13th Annual Tcl/Tk conference (Tcl'2006), sponsored by Noumena Corporation , Digital Smarties , Eolas Technologies and ActiveState .

On 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
Building User Interfaces with Tk I
Using Tcllib
Starkits
Building User Interfaces with Tk II
Tcl/Tk Optimizing & Debugging
MetaKit Database Engine
Tuesday Morning Tuesday Afternoon
TclHttpd
Tcl/Tk For Gaming
SQLlite: Tcl API
Advanced Tcl: Namespaces and Packages
SQLlite: C API and Internals
Advanced Tk: GUI appearance
Introducing Expect
Building User Interfaces with Tk I ( Ken Jones )
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.

The two sessions will complement each other, introducing basic techniques in the first session, and more advanced techniques in the second.

Using Tcllib ( Gerald Lester )
There is a wealth of well documented and tested tools available in the tcllib library.

Gerald will show you how to speed your application development by finding and using these prebuilt tools.

Building User Interfaces with Tk II ( Ken Jones )
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.

The two sessions will complement each other, introducing basic techniques in the first session, and more advanced techniques in the second.

TclHttpd ( Gerald Lester )
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. Gerald Lester explains how to get the most out of a very versatile package.
Tcl/Tk For Gaming ( Clif Flynt )
Programming should be fun! Fun projects make fun programming.
Tcl is a great tool for one-evening projects like a simple arcade game, PvP networked strategy games, or even FirstPerson Shooters.

Clif will provide a focused look at:

  • using arrays to structure data.
  • canvas features like binding, introspection, and redrawing.
  • socket communications.
  • the snack extension (for sounds & music).
  • merging C with Tcl for speed.
  • providing pause-free runtime with after and update.
Tcl/Tk Optimizing & Debugging ( Clif Flynt )
All languages have tricks and tweaks that help make code run faster.

Clif will discuss:

  • using tkcon to examing and modify a running program.
  • using trace and info level to record program behavior.
  • other debugging techniques.
  • using Tk's option command to speed up a GUI.
  • using loops and procs for more speed.
  • using string map instead of regsub.
  • using faster versions of common commands.
  • using time to find where things are slow.
  • using critcl to recode compute intensive sections in 'C'.
Advanced Tcl: Namespaces and Packages ( Clif Flynt )
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.
Starkits ( Steve Landers )
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.

MetaKit Database Engine ( Steve Landers )
Ever wanted to use advanced database features like join or 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
SQLlite: Tcl API ( D. Richard Hipp )
Have you ever needed an SQL database at your disposal without an SQL Database Server?

SQLlite is a a self-contained, embeddable, zero-configuration SQL database engine. It supports uses a single file for the database, and supports ACID transactions, rollback, and most of the SQL-92 syntax.

Richard Hipp describes how to use the Tcl bindings to SQLite to build applications with complex data requirements.

SQLlite: C API and Internals ( D. Richard Hipp )
SQLite is a powerful in the hands of a novice.

Knowing what's under the hood makes it even more powerful.

Richard Hipp explains how SQLite works, and how to use its power more effectively.

Advanced Tk: GUI appearance ( Jeff Hobbs )
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, including:
  • Controlling the toplevel
  • Themed widgets (tile/ttk)
  • 8.5 widget enhancements
  • Subtle platform differences
Some time will be alloted for hands-on work. A laptop is recommended for this course (latest Tk binaries will be provided).
Introducing Expect ( Kim Richert )
Expect's unparalleled support for interacting with command-line and network applications have made it the industry standard for automated test applications. But its features also make it an excellent tool for managing interprocess communication and extending legacy applications. As one developer said, "Expect can make easy all sorts of tasks that are prohibitively difficult with anything else." This tutorial concentrates on the four core Expect commands used in virtually all Expect programs, as well as showing tips and tricks for overcoming common Expect problems.

Tutorial Information

Contact Information

[email protected]