November 10 - 13, 2020

Houston, Texas, USA
virtual, Virtual
Phone: https://www.eventbrite.com/e/st-2020-tickets-122293825123
Fax: https://www.eventbrite.com/e/st-2020-tickets-122293825123

Technical Session Abstracts

A Logbook for Nuclear Physics Experiments

Experimental logbooks are a critical piece in documenting both an experiment and subsequent analysis of experimental data. At the NSCL/FRIB several logbook systems from paper to electronic are used an none are well supported. This WIP describes work in progress on a new experiment logbook system for nuclear experimental science.

A new look at wrapping: SimplisKit and ObfusKit

The current wrapping tools use a VFS infrastructure (sqlite, metakit, zip, etc) that wasn't designed for wrapping applications. There's excess functionality that makes building the wrapped shell on multiple platforms tricky.

SimpleFS is a minimalist single-file file system designed for wrapping Tcl scripts. It's a pure Tcl solution that's very portable.

A real life example | A simulator instructor station using tcl/tk, sqlite3 :: graph and tko::path widget, zipkits

  • tcl/tk 8.7 tclkits (zipkit)
  • extended tk graph and path widgets (related to tip 510 and 556)
  • real world usages in our plant simulator instructor station with:
  • Softpanel
  • Graph display
  • Process and logic drawings

Analyzing pre-parsed data in NSCL SpecTcl with Sqlite3

Data sets in experimental nuclear science are often analyzed repeatedly with differing analysis conditions. This talk will describe using SQLite along with NSCLSpecTcl to associate analysis conditions with pre-parsed event data in a way that greatly improves analysis performance.

Building PWAs and Services with EdgeS ESS+SqLite

Building web-services and web-applications involves a complex suite of technologies and standards evolving at a fast pace since 2015. In this talk we will see EdgeS single binary integrated: scalable web-server and compiler, SqLite and many other standards based technologies; used to author and manage the versioned lifecycle of progressive-web-application, service worker, and web-services in a few dozen to a couple hundred lines of code.

Converting a computation intensive Tcl application to leverage multiple CPU cores

Converting an existing computation intensive Tcl application to threads to leverage multiple processor cores.

Daylite - sqlite storage for FlightAware raw flight data

Daylite is a sqlite storage system, client and miscellaneous tooling for FlightAware raw flight data. The service itself ingests various tab separated value (tsv) files and converts that data to sqlite databases. This is done both on an ad-hoc and online basis depending on the data stream. In the development of the service, the interaction with the sqlite api was tuned to achieve the desired performance and a rational for some of those decisions will be presented. A primary use case, which will be presented, is for providing the data for simulated flight engine decisions which this service and its use of sqlite handle well.

Experimenting with numPy

This WIP focuses on the the possibility of leveraging the Python package numPy for numerical work in Tcl.



GEB is a general-purpose SQLite management tool written in Tcl/Tk, with emphasis on storing the code inside the database. The name was chosen because using code to manage the database file containing the code seemed reminiscent of the "self-reference at a higher level" that was an underlying theme of the book Godel Escher Bach.

LumoSQL: Towards a storage API in SQLite

The LumoSQL project is a version of SQLite that has added three storage backends, without creating a fork. The intention is to learn enough about what three very different K-V stores have in common across their ideas of transactions, concurrency, locking and keys to create a general abstraction. We are able to create a matrix of backend and versions, and have developed a benchmarking approach that may be useful for SQLite generally.


Projected TK project

This is the Projected TK project. The aims of the project are:

  • Tcl API level compatibility with TK.
  • Done: Support of existing Tk as the rendering engine.
  • Done: Support of Tk either locally or displayed in a remote browser.
  • In Progress: Support of HTML5/JS as the rendering engine instead of X/Coca/... -- using WACL


Sqlite 2020 Status Report

Sqlite 2020 Status Report

Tcl meets text: writing code documentation or document with code using mkdoc and tmdoc

The presentation will cover an easy to use approach for writing source code documentation using the well-known Markdown syntax directly within the Tcl source code. Furthermore, the oppositeapproach, embedding Tcl code into Markdown documents for doing literate programming will be presented.

  • https://wiki.tcl-lang.org/page/tmdoc%3A%3Atmdoc
  • https://wiki.tcl-lang.org/page/mkdoc%3A%3Amkdoc


Syslog notification program with providing per host message throttling and selective alerting to different support groups, including shorter messages to pagers or mobile devices. This was written to work with TclOO while improving my solution for throttling email alerts. The projects code is published here: https://github.com/nabbi/syslog-alert

Contact information

[email protected]