Twenty-sixth Annual Tcl/Tk Conference (2019)

Basic Information

Original Official website https://www.tcl-lang.org/community/tcl2019/index.html
When November 4-8, 2019
WhereHouston, Texas, USA
ChairAshley Guinard
Program ChairAndreas Kupries
ByTcl Association @ http://www.tclcommunityassociation.org

Proceedings

Sean Deely Woods: Cuneiform - Implementing Document Layout with Clay
Describes Cuneiform, a TclOO-based object model for XML/HTML document layout, supporting both text and SVG integration for complex multilingual and logographic documents.
(presentation slides)

Frank Morlang: Quick and dirty I/O playing with X-Plane without "dirty" - the Tcl way
Explains the use of Tcl to interface with the X-Plane flight simulator, including a real-time flight dynamics corrector for supersonic and hypersonic regimes, and the reusable xplaneConnect Tcl package.

Brian Griffin: Tcl and the Qt Event Loop
Describes integration of Tcl’s event loop with a Qt-based application, including custom event loop implementation, cooperative event handling, and embedding Tcl in complex GUI programs.

Kevin B. Kenny: Using Tcl to curate OpenStreetMap
Shows how Tcl orchestrates complex OpenStreetMap data imports, including format conversion, handling data integrity and conflation, and leveraging external tools like PostgreSQL/PostGIS.
(presentation slides)

Mary Ryan Gilmore: Multicom - FlightAware's Alert Delivery System
Describes a high-performance alert delivery system handling millions of flight event messages daily, including improvements using Tcl libraries such as sqlite, sqlbird, tclrmq, and zookeepertcl.
(presentation slides)

Sean Deely Woods: The Sobyk Binary Distribution
Describes creating a reference Tcl binary distribution without ActiveState, including challenges with package integration, maintaining legacy applications, and managing community communication and code standards.
(presentation slides)

Jonathan Cone: tclws versioning support
Explains adding versioning support to tclws web services to manage FlightXML2 and FlightXML3 API evolution, allowing service definitions to coexist without code duplication and maintaining backward compatibility.

Claude Rubinson: Rediscovering Ousterhout's Dichotomy in the 21st Century while Developing and Deploying Software for Set-Theoretic Empirical Analysis
In 1998, John Ousterhout predicted that programming in the 21st century would be dominated by the complementary use of "system programming" and "scripting" with the former being used to implement complex algorithms and data structures or when performance is critical and the latter, for connecting together pre-existing components. I offer another reason for embracing the dichotomy, arguing that the two approaches offer different opportunities for knowledge production. Using system programming languages to model complex systems and implement novel algebras aids one's deductive reasoning about a domain. Scripting's flexibility, in contrast, encourages the inductive identification of effective analytic processes and practices. While it is now standard practice to begin with and program as much as possible in a scripting language, dropping to a system programming language only when necessary, I contend that under certain conditions it is preferable to start with the system programming language. Employing as a case study the evolution of software that I have developed for implementing the research methodology of qualitative comparative analysis (QCA), I explore how the prioritization of scripting languages has hindered methodological advancement. Reimplementing the method in the system programming language OCaml allowed for certain longstanding questions to be answered and uncovered new avenues of inquiry. The scripting language Tcl/Tk was chosen to implement an extensible analytic environment that provides both a opinionated graphical interface and an embedded flexible console for conducting research using QCA.

Marc Culler: Realizing the theme dream
Describes integrating the Tile project into Tk 8.5 to create flexible, structured widgets and cross-platform user interfaces, including progress toward supporting macOS Light and Dark modes and challenges with system color semantics.

Michael Yantosca: Release the TURTLES — A Pure Tcl Interface to Dynamic Proc Tracing
Introduces TURTLES, a pure Tcl dynamic proc tracing interface for capturing call relationships and execution timing, emphasizing low overhead, portability, and introspection of the Tcl environment.

Peter da Silva: Lessons learned from Popeye and Roadrunner
Describes the design and performance lessons from Popeye, a real-time flight database, and Roadrunner, a surface vehicle tracker, focusing on handling highly irregular input, SQL generation, and minimizing text copying in Tcl.
(presentation slides)

Year In Review 2019
Summarizes core team updates, 2019 releases, ongoing work, and the state of Fossil for the Tcl community.


Conference Resources

Video Stream

1. Watch on YouTube (Day 1) 2. Watch on YouTube (Day 2) 3. Watch on YouTube (Day 3)

Pictures

1. Andreas Kupries