Developer Site
HomeHosted by Noumena Corporation
Google SiteSearch
Main | CFP | Schedule | Tutorials | Registration | Info

12th Annual Tcl/Tk Conference

October/November, 2005
Portland, Oregon, USA

Important Information
Abstracts and proposals due July 1, 2005
Notification to authors July 31, 2005
Author materials due Sep 15, 2005
Conference starts Oct 26, 2005
Email Contact [email protected]

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/Tk I
MetaKit Database Engine
Intro to Tcl/Tk II
Tuesday Morning Tuesday Afternoon
Using Tcllib
Advanced Tcl: Namespaces and Packages
SQLlite: Tcl API
Tcl C API: Embedding and Extending Tcl
SQLlite: C API and Internals
Advanced Tk: GUI appearance
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.
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.

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, 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
Intro to Tcl/Tk I ( Clif Flynt )
Tcl/Tk makes it large, complex tasks easy to complete.

Clif introduces the basics of Tcl and Tk including:

  • Syntax
  • Looping
  • Decision making
  • List processing
  • String processing
  • Regular Expressions
  • Procedures
  • Arithmetic operations
  • Buttons
  • Labels
  • Canvas
  • Grid
Intro to Tcl/Tk II ( Clif Flynt )
Tcl/Tk makes it large, complex tasks easy to complete.

This session expands on the morning with:

  • Associative Arrays
  • Sockets
  • Using the event loop
  • Advanced canvas
  • Listbox
  • Menu
  • Building megawidgets
Tcl C API: Embedding and Extending Tcl ( Clif Flynt )
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.
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