Ninth Annual Tcl/Tk Conference

The Ninth Annual Tcl/Tk Conference was held from 2009-09-16 to 2002-09-20, in Vancouver , British Columbia, Canada, the home of ActiveState.

Tcl2002 Conference Papers

Steve Ball : TclXML: The Next Generation
TclXML is a family of packages providing comprehensive support for creating and processing XML documents using Tcl. The package family includes TclXML for SAX-style streamed parsing, TclDOM for in-memory tree manipulation, and TclXSLT for transformations. Major additions include Tcl wrappers for the Gnome libxml2 and libxslt libraries, providing fast XML parsing, DTD validation, XPath support, and XSLT transformations. Version 2.0 introduces a layered architecture separating the generic API from parser implementations, allowing applications to use different parsers with different characteristics. The paper discusses new developments in each package and their impact on application development and integration.

Mac Cody : Toucan: A Feathered Friend for the Palm
Toucan is a cross-platform Integrated Development Environment for creating applications for Personal Digital Assistants running Palm OS. The target programming language is Palm Tcl, a port of Tcl 7.6 with extensions to support Palm OS applications. Programming for Palm OS presents unique challenges including limited screen size, limited memory resources, no file system, and the need for application responsiveness. Palm Tcl cannot form a working Palm application by itself and relies on user-defined Palm resources to create the user interface. Written in Tcl/Tk 8.3.4, Toucan runs on both Linux and Windows, integrating the tasks required to develop Palm OS applications and streamlining the development process by handling resource management and simplifying many Palm-specific requirements.

Harvey Davies : The NAP (N-Dimensional Array Processor) Extension to Tcl
NAP is a loadable extension providing convenient, powerful, and efficient facilities for processing data in n-dimensional arrays. Special facilities support data based on n-dimensional grids where dimensions correspond to continuous spatial coordinates. NAP provides the essence of array-processing languages like APL, J, IDL, and Matlab with a distinct Tcl flavor. Arrays are stored in structures called NAOs (n-dimensional array objects) with eleven data types, support for missing values, and coordinate variables for grid-oriented data. The package includes interfaces to HDF and netCDF file formats commonly used in Earth sciences such as Oceanography and Meteorology. Careful coding achieves speeds close to pure C code despite testing for missing values, and efficient memory use is achieved through automatic deletion of unneeded data.

Hugh Dunne : Using Tcl for Test Automation of a Large Fiber-Optic Switching System
This paper describes a Tcl-based test automation system for Ciena Corporation's Core Director, an intelligent, high-performance optical networking core switch. The system must test compliance with standards, exercise multiple interfaces (CORBA, TL1, HTTP, proprietary XML-like interface, Java GUI client, and NBI network management system), and interface with test equipment and large test case databases. The test infrastructure is organized hierarchically, with low-level packages for direct system interaction, utility packages for common operations, service-layer packages for connection entities, and higher-level packages for batch testing. Tcl's advantages include rapid development, ease of learning, ideal glue language capabilities, power and flexibility, and acceptable performance with the ability to recode critical sections in compiled languages.

William H. Duquette : Automated Testing of the Deep Space Network's Uplink Subsystem
This paper describes lessons learned implementing two different Tcl-based test frameworks for automating testing of the Deep Space Network's new Uplink Subsystem. The first framework was external to the subsystem software and provided complete environmental control; the second was integrated with the software and provided less control but motivated more and better testing. The paper discusses implementation of monsh (Monitor and Control Shell), a straight-forward Tcl extension wrapping the M&C API with special handling for callback functions using POSIX threads multiplexed into the Tcl event loop. Implementation details of both testing approaches are examined, along with their respective advantages and disadvantages for different testing scenarios.

K.R. Fitch : Tcl/Tk-based Alarm Presentation System
This paper describes implementation of an alarm presentation system for a nuclear power plant using Tcl/Tk as the basis for the user interface. As part of the Ringhals 2 plant control room upgrade in Sweden, Westinghouse developed a software-based alarm system maintaining the strengths of fixed layout annunciator systems while supporting click-access to live data, alarm response procedures, and reference data. The system uses Tcl/Tk 8.3.3 with tclX, tclhttpd, itcl, and tcllib running on Solaris 2.6. The APS runs on Sun workstations displaying on a BARCO EOS system that creates a single logical large screen (3840x2048) from six physical 1280x1024 VDUs arranged in three columns and two rows. The paper highlights how Tcl/Tk features are used in the design and shares experiences and lessons learned.

Ron Wold and Brian Griffin : Realizing Windows Look & Feel with Tk
ModelSim is an Electronic Design Automation tool for digital hardware design engineers with a graphical interface written in Tcl/Tk. Originally following Motif look and feel, an effort was undertaken to convert the interface to Microsoft Windows look and feel to improve consistency and familiarity for users. The paper discusses issues addressed including window frame design, color and font matching with desktop themes, menu conventions, de-emphasis of command line in favor of workspace panes, and dialog box layout and behavior. Achieving native Windows appearance required attention to toolbar icons, balloon help, color schemes, menu placement and naming conventions, popup menus, and careful dialog design considering both visual and behavioral factors. The result is a more modern and intuitive interface that feels native to Windows users.

Andrej Vckovski and Michel Mathis : Scripting For Java
This paper compares embeddable script interpreters for Java applications, evaluating Jacl (Tcl implementation in Java), Jython (Python), and Rhino (JavaScript). The comparison uses multiple criteria including hard criteria (runtime performance, code size, memory footprint), language features (embeddability, security), and soft criteria (community support, documentation, third-party tools). While Jacl seemed the logical choice given the company's extensive Tcl experience, a thorough evaluation was performed to objectively assess all options. The methodology addresses the inherent subjectivity in comparing complex technologies and provides guidance for organizations choosing scripting solutions for Java-based applications. Performance tests, memory usage, and various practical considerations are measured and analyzed.

Simon Hefti : Fast Docbook Rendering: Unleash The Power of tDOM, mod_websh and apache2
Docbook is increasingly used for technical documentation but the conversion process is rather slow. This paper demonstrates combining tDOM, mod_websh and apache2 to build a fast Docbook converter as a web service. The key feature is mod_websh's re-use of Tcl interpreters for many requests, including precompiled application code and parsed Docbook XSL style sheets. Re-using parsed style sheets allows very fast translations of Docbook documents into various output formats such as HTML or PDF. Performance measurements compare tDOM against Xalan-C, Saxon, and Gnome XSLT, showing tDOM outperforms other processors especially for smaller documents typical in dynamic web applications. The paper includes example code for building and configuring the components.

Kevin Kenny, Miguel Sofer and Jeffrey Hobbs : Tcl bytecode optimization: some experiences
Tcl's bytecode compiler and engine have been in place for five releases (8.0 through 8.4). This paper reviews recent optimization work and quantifies performance changes from applying common optimization patterns. Tcl 8.4 improvements include compiling additional commands (append, lappend, lindex, list, llength, lset, regexp, return, string, variable), improved local variable recognition and caching, constant condition resolution at compile time, loop optimization, inlined variable access, peephole optimizations, and better stack management. The runtime library has new Tcl_Obj internal representations caching variable references, a new TclPtrSetVar API for direct variable access, and faster fully qualified name lookups. The paper provides guidance on structuring Tcl programs to achieve best performance and presents directions for future optimization work.

Christian Kohls, Tobias Windbrake and Susanne Kaiser : Javanti: Using Tcl to design interactive eLearning materials
Javanti is an Open Source authoring tool for multimedia eLearning content. Users create dynamic and interactive slides using a visual WYSIWYG interface containing learning objects such as formatted text, animated graphics and quiz types. A 4-level content creation model accommodates different technical skill levels: basic level uses standard objects in WYSIWYG editor, simple actions level uses simple Tcl commands for object interaction, program development level uses full Tcl for calculations and macros, and the highest level optionally writes new object types in Java. Tcl was chosen as the integrated scripting language because of its simplicity for non-technical users, full featured language capabilities for advanced users, simple syntax suitable for visual interface generation, ease of adding multimedia commands, and straightforward implementation using Jacl.

Andreas Kupries : Experiences with modularizing the Tcl core
As part of a Cisco contract for migrating their IOS-embedded Tcl interpreter from version 7.6 to 8.3.4, ActiveState modularized the Tcl core to reduce static and stack memory requirements. Features not required by Cisco were made compileable-out through preprocessor macros, reducing static size. Stack usage was reduced by shrinking large default-sized data types, introducing macros for heap-allocation of large stack variables, and implementing a non-recursive bytecode execution engine (NRE). The paper describes techniques used, difficulties encountered, comparison of core sizes with various features removed, and conclusions regarding future work. Results show modest size reductions for most individual features, with file system code and channel management providing the largest savings.

Steve Landers : Beyond TclKit - Starkits, Starpacks and other *stuff
This paper describes Starkits, a packaging mechanism delivering applications in self-contained, installation-free and portable form. A Starkit is a "filesystem-inside-a-file" containing all application files, never unpacked during normal use. TclKit is a generic runtime interpreter containing a complete Tcl/Tk system functioning without unpacking. For multi-platform deployment, one Starkit file works on all platforms when launched with the appropriate platform-specific TclKit. Benefits include single-file deployment, platform independence for pure-Tcl applications, separation of generic runtime from application code, support for compiled extensions, compression, code privacy mechanisms, launching without unpacking, same context as development environment, and incremental updates. The paper shows how to construct Starkits, build cross-platform packages with compiled extensions, and discusses advanced topics like architecture, installation options, and repository issues.

Dan Razzell : The Suitability of Tcl/Tk for Remote System Management
Starfish is a managed agent method for securely administering groups of computer systems. Despite the high privilege necessary for system management, Tcl/Tk has proven nearly ideal for this rigorous use. The paper examines general conditions for secure system management and specific Tcl/Tk language features lending themselves to this activity. Starfish consists of three components: a secure channel for passing expressions and results remotely, lightweight agents evaluating expressions on remote systems, and a manager issuing expressions to agent groups. Both agents and manager are implemented as communicating Tcl interpreters, each supporting a complete programming environment readily extended to meet site requirements. Integration is seamless because Tcl serves both as implementation language and language for expressing remote control. The paper demonstrates how open system architectures promote security and integration in heterogeneous environments.

Mark Roseman : Ten Years of Rapid Development
Over ten years, Tcl was a key development tool for collaborative systems ranging from academic research prototypes to large-scale commercial web conferencing products. The evolution began with GroupKit (1992), a Tcl extension for rapid prototyping of collaborative interfaces, then TeamRooms (1996), a robust desktop collaborative environment, followed by TeamWave Workplace and various web-based products for virtual communities, music sharing, e-learning and web conferencing. The paper examines lessons for developers of growing systems, focusing on how Tcl supports traditional software engineering practices. During company acquisition in 2000, Tcl was a focus of technical due diligence; the paper presents positions offered in its support including arguments around performance, scalability, best practices, and organizational issues. Experiences show Tcl provided significant deployment advantages throughout all development phases.

Scott Thibault : Hardware Compilation vs. Software Interpretation
This paper compares traditional software interpretation with hardware compilation approaches for executing programs. While software interpreters use general-purpose processors to execute instructions, hardware compilation creates custom circuits optimized for specific algorithms. The paper examines trade-offs between these approaches including performance characteristics, flexibility, development complexity, and resource requirements. Hardware compilation can provide significant speedups for computationally intensive tasks but requires specialized knowledge and longer development cycles. The discussion places Tcl's interpreter model in context of these broader computational paradigms, exploring when each approach is most appropriate and how they might complement each other in hybrid systems.

Steve Landers and Jean-Claude Wippler : CriTcl - Beyond Stubs and Compilers
CriTcl (Compiled Runtime In Tcl) allows C code to be embedded in Tcl scripts, transparently compiled and called like any Tcl procedure. It addresses the complexity of building Tcl extensions by hiding issues like autoconf, make, Tcl headers, and stub libraries. CriTcl evolved from an experiment to compile C code on-the-fly using gcc and MD5 checksums to determine recompilation needs, to CritLib (set of Tcl extensions) and CritBind (utility for building shared libraries), to the current command supporting three modes: compile-and-run, build-library, and package mode. The package mode generates TIP 55 compliant packages with cross-platform pkgIndex.tcl. CriTcl is self-contained with all required headers and stub glue, packaged as a Starkit for convenience. Examples demonstrate extending Tcl scripts with C code achieving significant performance improvements.

See Also

Tcl2002 BoF on package issues

Documentation

official information
Refereed papers - Tcl'2002 Conference Proceedings
archive

LV's Review

RS: As one of the Tclers that cannot attend, I would be very happy if the lucky ones in Vancouver could let us know how it goes (maybe right here on this page?)

LV: I found an open terminal, and of course the second thing I did (after sending mail to the family) was stop in to update the page!

I arrived yesterday pm. The tutorials are said to have gone well - I have talked to Ken Jones and Clif Flynt who were tired but pleased with the way their presentations went.

Spent the afternoon talking with stevel, Steve Ball, dkf, aku, Clif Flynt, Mark Roseman, tclguy, Mac Cody, kennykb, and a number of others whom I have met over the past 3-4 conferences. It certainly is good to see them all again. Donal, Kevin, David Enry and myself grabbed a quick bite at a wonderful greek restraunt, then walked over to ActiveState for the reception. Food, libations (for those who ate less than I at dinner), and loud music was the rule of the evening. I got to say hi to a number more Tcler's - like Matt Herdon of ActiveState - the tools manager - and D. Richard Hipp, as well as others.

(DKF - Why was it that the person manning the music at ActiveState was apparently just playing for his own pleasure and not that of anyone else? He did not even seem to change tracks ever...)

After being on the go for about 20 hrs, I went back to the room, decelerated with a bit of tele time, and fell asleep.

This morning, I'm up, chatting with the early birds (Mark informs me that Vancouver is a premier place for Starbucks and other coffee shops...) and waiting for breakfast. We'll let you all know how things are going through the week.

Marty Backe: Thanks for the update. Keep'em comin.

Dave Griffin: Hello to all. Sorry I can't be there (again) this year. Sigh!

Ro: Thanks - I wish I was there! Vancouver is far from Ottawa though ;( I can't wait to read Steve Landers' and Jean-Claude Wippler's papers! Anybody know if the talks are going to be available in mp3? I hope so!

stevel: a copy of my paper might be at [L1 ] and JCW's slides at [L2 ] <wink>

ro: YES! Awesome Steve! I was going to go to sleep, but screw it now, I've got this to read! Your paper looks great => THANKS

LV: I don't notice anyone video or audio taping the sessions, so I must assume that the sessions will not be available to watch. I have not yet seen any word on availability of the papers online, nor of the wonderful Proceedings CD that is a part of the conference.

This morning, we had a keynote by Mark, talking about his 10 years with Tcl/Tk and how it played an integral part in the acquisition of Teamwave, a talk by our own jcw about the wiki, and 2 talks (so far) on uses of Tcl in applications - one, by the author of http://www.starfishsystems.ca/ , a remote system admin package, and one by Hugh Dunne about testing high performance fiber optic switches. One more talk, and then time to go to lunch!

Okay, the last talk of the morning was by William Duquette, about his use of tcl in testing deep space network uplinks. I got a kick out of an exchange during the Q&A, where Will assured us that even though the energy used for the uplink is quite powerful, there are lots of safety interlocks to prevent the equipment from frying people or aircraft. That's nice to know! I would hate it if Tcl became known as the software with which to fry humans... LV

A dozen or so of us went out to a nearby food court for lunch - sushi, Vietnamese, other Oriental, something from a French Crepes stand, and I saw at least one person eating Arbys...

Back from Lunch, Jeff Hobbs presented a State of Tcl address [Anyone have a URL for data from that paper]? Mostly the same good info that Jeff presents - historical look back, recent release info, hope for the future. Jeff will, I hope, present results of his Oustervote poll. One piece of good news - MacOS download numbers appear to be slightly up recently. There's hope that a combo of the Tk Aqua port and Tclkit/Starkit will result in a new generation of user/developers on the Mac! But we need lots of people helping in all the areas.

In the afternoon, LV was pressed into service (without any arm twisting) to chair the Tcl/Tk Extensions and Deployment sessions - or what he called Tcl Down Under due to the dominance of Aussie Tclers presenting in this session.

Harvey Davies: gave us a look at nap - if you are doing linear algebra, or data visualization, take a look at it; someone referred to it as APL (well, really J) in Tcl.

Next came Steve Ball - always a pleasure to sit under his tutelage. Steve talked about the fantastic performance from libxml2 and the new binding to libxslt. More info on XML is coming today in the form of a paper and a Birds of a Feather (BOF) session tonite. (switched to thursday so more people could attend)

Last, but certainly not least, was stevel - talking about Starkit and Starpack. There is quite a bit of enthusiasm here - Brent Welch, D. Richard Hipp, as well as some of our new acquaintences, are all thinking of interesting ways they can make use of all of these things. One of the tips that was mentioned was that our keynote, Mark Roseman, has been having some success combining TclPro compiled Tcl code with Starkits - to end up with the ability to slightly obfuscate small pieces of applications (perhaps like license managers). Obviously it isn't designed to be high-security - just something to make things a little more challenging for those whose delight is to beat the system.

MR: clarification: completely successful, and I'm using procomp to hide all my code, not just a small piece. and as far as i'm aware, its more than slighly obfuscating the code (at least I certainly don't know how to turn the bytecodes back into source!)

Next, we chatted a while and then moved on to the conference dinner, held here at the Crowne. A wonderful salad, samon with roasted veggies and a butter sauce, followed by cheesecake (and libations for those who wanted) was enjoyed by all with whom I spoke.

After dinner, the ActiveState Active Awards presentations were held. [L3 ]. jcw wins one of the awards! [Justice prevails!] [No, wait, that makes it sound as though it would have been unjust for someone else to win. That's not it; it's just that--well, see for yourself how much jcw has contributed.] More on this in the press release!

Following dinner, at least 2 BOFs were held. One was on New features requested for wiki and the other was on Tcl 8.4 features. Unfortunately, a combination of too little sleep and a migrane forced LV to retire earlier than he would prefer. Hopefully someone else will follow up on the remaining festivities last nite. (In fact, apparently LV fell asleep during the features of Tcl/Tk 8.4 BoF - a picture of him snoring in a corner was seen on Thurs am... Sigh - even that sleep didn't relieve the headache much... and now adds to his public embarassment.

AK I don't think that I will post this picture. I did not use a flash to prevent me from waking up Larry, as a result it is much to dark.

DKF: It's amazing what you can get with a colour-rebalancer... ;^)

LV: Thursday started out with a breakfast of crepes/Belgium waffles, granola/cereal, pastries, juice, coffee, tea, and good conversations. (Courtesy of Noumena Corp = Clif Flynt).) Then, we got to see a talk about an interactive presentation program called Javanti - see http://www.javanti.org/ . If you like to see curiosities - take a look. One of the interesting features of the powerpoint like program is that it uses Jacl to provide the ability to associate Tcl scripts to elements on the screen, which means that elements can be interactive, and actually can communicate with one another!

Next was Thomas Burch's work on the electronic version of the 33 volume german dictionary Deutsche Woerterbuch. This series, initiated by the Brothers Grimm in the late 1800s, is a massive work (300 million plus characters!) and is used for scholarly research in the origin of words and their usage. Consists of nearly a gig of data to format with appropriate highlighting, etc. to match the printed product. (Another use of metakit, the database underlying starkit, this wiki, and others).

Lastly, Simon Hefti of Netcetera talked about combining tDom, mod_websh and apache2 to do dynamic docbook rendering.

We took a break, then had the works in progress session. During this, a presentation on the batteries in the Batteries Included ActiveTcl product were shown by Jeffrey Hobbs, Michael A. Cleverly showed nstcl (a layer above various current Tcl database extensions, allowing one to do a bit more generic database programming, Peter MacDonald discussed the fact that he has been rewriting TkHTML to use objects and has been deconstructing BrowseX into components so that he could create a BLite (light browser) for use in a wireless meter reading service that is coming on line soon. He also discussed how he has revamped TML (his template markup languge) and it now defaults to rendering to a text widget, but can generate HTML (except no tables), Latex and plain text as well.

Next came Scott Thibault, who showed us an interesting approach to developing Palm applications that his company has developed - called X-Acute (pronounced execute), it is envisioned as a Visual Basic alternative. One writes the application in an XML form, but can embed Tcl to perform some interactions. Applications can make use of PalmOS's persisten storage. On the desktop one compiles these programs into a bytecode, then installs that onto the palm, where an 80k runtime interprets the application. The runtimes are also available for the desktop I believe.

Next we broke for lunch - a private meal at the hotel's restraunt, featuring a fusion/sushi motif. More great conversation ensued. Two of the ongoing topics during breaks, meals, etc. were ways to create some sort of centralized service for developers so that they could register their source distribution, announcing it perhaps through freshmeat, then people interested in a binary version might come to a Tcl Web site, select the platforms and add-ons they wanted, and they would then receive a starkit containing the binary for the platform(s) selected. Another topic was some sort of digital signature process for code on the wiki - however, the sociological issues seem larger than the technological ones.

After lunch, we returned to papers, where Scott Thibault presented his company's work on supporting Tcl bytecodes in a custom processor, then aku talked about the Cisco work on modularizing the core (quick summary - miguel produced a nice modification that may be useful for the core, but community should NOT expect a fully modular tcl from this work - the effort was to reduce the binary size and stack size but was not to turn tcl into a select only the features you want distribution. The results are in the tcl.sf.net cvs in its own branch and is tcl 8.3.4 specific at this time. The specific size savings were not known, and the impact on performance were not tested.

AK: Clarification: The size savings were given in percentages of the original size, and the absolute numbers escaped my memory ... They are in the paper however (Short: libtcl.a 490124 down to 403228, roughly 17 %).

Last, but not least, on Thursday was Mac Cody's talk on Palm Tcl and Toucan. Work continues on this product, which one user described as the first PalmOS development product which actually lived up to its description.

After a break, an application show and tell was held. ActiveState's Komodo was shown, as was information by Xerion Pharmaceutical AG [L4 ] regarding a bioinformatics server and some system admin tools were discussed.

Paragon - a 3D (opengl) file format verifier, written by a gaming machine software company, was shown. (AK: Electronic Arts is Vancouver-based :).

Brian Griffin of ModelTech showed some of the widgets his company had developed in their work on ModelSIM, a chip simulator. There were a nice tree widget, dockable toolbar, resizable/movable panes, etc. Some of these widgets, written in incr tcl, are hoped to be released back to the community in the future.

Ed Hume, of http://www.hume.com/ showed a package manager application. It used metadata provided with a package to show a user what packages were available, assist in installing new packages or new releases, remove packages, etc.

Ed also showed a nifty data entry system which included a persistent in memory sql database to which applications could subscribe to particular data so that when that data changed, the application would receive notification. It had lots of tools for displaying tables of data, charting the data, creating data entry screens, etc. See Ed's web site for more details.

We then had a few hours break - so LV slipped away to his room and tried to sleep for an hour, so that he could stay awake for the evening's BoFs. It seemed to help a bit ... there wasn't any obvious snoring going on from him this time.

First informal group was for scientific computing and visualization. The author of nap was looking for co-developers to help extend and improve his code. He was looking for fast rendering of x-y plots of tens of thousands of points, FFT and other image manpulations, etc. People suggested Vtk, Snack (which might have some fft code), e4graph, and others which unfortunately LV didn't get in his notes. Hopefully some of the others there will chime in here.

Next was an XML BoF chaired by Steve Ball. He showed a few new tools under development - XML Tool (on the tclxml cvs repository) which is a wizard like application to step through checking the well formedness, validity of an xml document and then to apply XSLT transformations. It's GUI is configured with XML. After than, a Simple Content Management System with makefile like processing was shown, followed by InfoEdit (an XML editor). Also mentioned is upcoming online tutorials on TclXML by Zveno. Finally, another XML editor, by Roy Nurmi was shown. Its user interface also was configured, dynamically, by XML statements.

Next was a BoF on needs/concerns regarding the Tcl package command. I will defer to dgp providing a summary of the events.

Lastly was a BoF on AOLServer, which also will await notes from one or more of the attendees, as this writer slipped out and back to bed for a few more hrs of sleep...

On Friday, things were busy, as the time was short, our attention span grew shorter, and yet there were so many things we wanted to do.

A paper by miguel, kennykb, and tclguy led off the morning. It covered the bytecode optimizer - but the presentation, instead of being a dry paper about bits and bytes, covered highlights of some of the changes as well as a number of helpful tips on writing Tcl scripts in a way to get more performance out of the machine. Expect to see this info in some best practices pages in the upcoming days. Next was jcw's paper on critcl. The presentation went well (there were no pitchforks and angry mobs...) but I got the impression that there were no dancing peasants in the street either... Finally, Andrej Vckovski preseneting a paper on Netcetra's comparison of Jython, Rhino and Jacl to determine what scripting language is the leader for Java. Their decision to use the Bean Scripting Framework to abstract away the details was the result - the distinguishment between the 3 contenders was just too close. After a short break (as people were saying their goodbyes, etc.) We came back for the last matters of the day. Brian Griffin presented a paper on Model Tech's work to make their Tk applications look more like windows (which was an excellent example of how if one spends the effort tuning (and writing custom code) one can get better results, was a great job. The final paper was one which unfortunately did not get presented due to information export restrictions. In its place, Kevin and Jeff presented the awards for The Great Canadian Tcl/Tk Programming Contest, eh?. Details on this will follow on its own page in the days ahead.

AK: Clarification on the last paper. The author was allowed to write the paper, to have the paper as part of our proceedings (where it was included), but was not allowed to come and present it in person.

Closing remarks and town hall were the finale of the week. There were no serious complains about the conference. In looking ahead, 3 possibilities were suggested about another Tcl gathering:

  1. Yet another Tcl conference as this year
  2. A Tcl track in a Small Languages Conference by Usenix or at an Open Source Conference by O'Reilly
  3. A Tcl workshop at one of the major Usenix conferences.

Several of us attended expressed the notion than a workshop at a major conference would provide us additional ammunition to be able to attend - likelihood of relevance of other material to work might be used as additionl justification, cross pollination within the larger population possible, ability to do Tcl papers in other tracks, etc.

It remains to be seen what will work out - but people should consider contacting tclguy to get on a mailing list to discuss the future direction.

The afternoon was spent doing more sushi with conference attendees, then discussions at activestate by a smaller group followed by Korean food with a smaller group followed by final goodbyes on the part o LV. Now I have 5 minutes to check out and head back to the US. More notes will likely arrive, plus watch https://www.tcl-lang.org/ for papers and hopefully slides from presentors in the days ahead.