Clif Flynt wrote the book on Tcl. He also helps organize the annual Tcl/Tk User's Conference, speaks at Open Source events and has taught Tcl/Tk around the world.
It includes over 150 new pages covering new features in 8.6. There are chapters describing TclOO, Tcl Modules, Sockets, Threading and much more.
The target for this book is an experience programmer who needs to pick up a new language quickly. Tcl's primary features are covered in depth. New features and tricks of the trade are described in detail. Finally, there is an entire chapter devoted to optimization and debugging techniques.
These include:
Small and useful Tcl scripts.
Bare-Bones TCP/IP client and server: Just add application
A pure Tcl html display widget
Building megawidgets in namespaces (pre Tcl8.6)
An enhanced version of D. Richard Hipp's tree megawidget.
A sample Tcl extension to demonstrate techniques.
Data-Driven GUI generator.
A text widget that supports wordprocessor controls and saves formatted text in RTF format > > > > > > > > > > > > > > > > > >
more
Here are some papers
NOTE: This is a namespace based solution to making megawidgets.
Tcl/Tk: A Developer's Guide, 2'nd edition discusses TclOO and describes better object oriented techniques for creating megaWidgets.
This package includes a script to convert the dummy skeleton into a new package using a number of regular expression substitutions.
It also supports saving a document as an XML doc, a "native" form document, or in RTF.
Import is supported for XML and native format. The RTF document can be loaded into MS Word, LibreOffice, OpenOffice, and other word processing tools.
This allows loading extensions that require other shared libraries to be resident before they can resolve their symbol tables.
This extension is a single .c file which should compile cleanly on Posix or Windows systems. It's been tested on Linux, and MS-Windows 95 with VC++ 5.0.
| Wrapping Applications | Editing the TOBE Makefile | Tcl_Init | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tcl_EvalFile | Tcl_FindExecutable | Zip > > > > > > > > > >
more
Aug 2004:
Fortran/Tcl 2: Making a better GUI for FORTRAN Applications Digression: Fortran/Tcl 2: Making a better GUI for FORTRAN Applications
Demonstrates the flexibility of writing a GUI as script appended to a compiled application. A GUI script is easy to modify and extend without affecting the core application. You can even change a challenge/response application to a real-time application. Discusses:
Apr 2004:
Firewall Validation 8: Mobile Agents in Tcl Firewall Validation 8: Mobile Agents in Tcl
A client application can send a Tcl script an Agent server for remote evaluation. This article describes creating an Agent based client/server pair, using SSL to ensure that only scripts from trusted agents are evaluated, and evaluating scripts in a Safe sandbox. Discusses:
Oct 2003:
Firewall Validation 6: Client/Server sockets Firewall Validation 6: Client/Server sockets
Tcl's Socket interface is clean and simple. This makes it an ideal choice for developing client/server applications. Discusses:
Jun 2003:
Firewall Validation 4: Capturing and Analyzing Packets with an AxTcl Firewall Validation 4: Capturing and Analyzing Packets with an AxTcl
How to use AxTcl on the Spirent AX-4000 to capture packets and display statistics and packet contents. Discusses:
Read the article more
Feb 2003:
Firewall Validation 2: Testing the packet generator with AX4000 Firewall Validation 2: Testing the packet generator with AX4000
Describes using the Spirent Ax4000 to measure line usage and confirm that the dnet extension can saturate a 100-B-T line. Discusses:
June 2002:
Advanced Tk Techniques 3: popup Help Popup Help messages
Adding popup help messages to buttons, labels, etc. Discusses:
April 2002:
Advanced Tk Techniques 1 Resizeable displays
Describes using pack, place and grid to make resizeable GUI applications. Discusses:
December 2001:
Extraction information from tcpdump Display text from tcpdump output
Describes extracting the text from the hex output of tcpdump. Discusses:
July 2001:
Using the binary command to examine telnet configuration messages Binary data and sockets
Describes using the binary command to display the IAC interaction during the start of a telnet session. Discusses:
April 2001:
Client/Server System Monitor with History Client/Server System Monitor with history
Shows how to save the last N hours worth of events, and display them in a scrolling canvas.
December 2000:
Introduction to TCP/IP Client-Server in Tcl Client/Server system monitor
Introduces the socket command, and shows how to build a client-server pair that will monitor disk space, and report when the space gets low.
August 2000:
Better graphs, sales volumes, Associative arrays More things to do with the BLT graph widget
This article expands on the previous graphing program and shows how to use bar charts with graphs, use multiple axes, and display custom labels on the tics. Along with that, it discusses using the associative array to organize the data.
April 2000:
Building HTTP Robots fancy regular expressions Extending the stock robot
This article explains some of Tcl's new regular expression options, and extends the robot to get all the available data.
October 1999:
Extending the HTML viewer Extending the HTML viewer
This article shows how to extend the Tcl HTML package to read images, and bounce to hyperlinks. The example code is an improved htmlviewer that will let you look at images or load links at your discretion.
June 1999:
File IO, Strings, Text Widget Catching unowned IRC Robots
This article described a simple script that will confirm that all the tasks running on a system are owned by legitimate, logged in, users. We used this script to track and kill IRC Robots that crackers left on the college network where Clif Flynt was teaching at the time.
Postcard Creator
Generate postcards
Sometimes you need to send a formal comment to a bunch of folks. But how? Emails get spam-boxed and letters won't get opened for fear of anthrax. Postcards are safe and don't go into spam boxes. This application will print four double-sided postcards on a sheet of paper, with addresses on one side and message on the back.
Postcard Creator
Generate postcards
This is a collection of useful applications, games and other things that I've used and may be of use to others. These include:
Tclsh Spot
Articles written for ;login: magazine
Clif Flynt wrote articles about Tcl for ;login: magazine between 1999 and 2005. The example code from these articles is available here. The The Tclsh Spot articles are available on line for Usenix members. There are links to the older articles that are available online for the general public.
A tree display widget
An enhanced version of D. Richard Hipp's tree megawidget.
This widget is an enhancement of D. Richard Hipp's tree megawidget. The modifications include:
Sample Tcl Extension
A sample Tcl extension to demonstrate techniques.
This sample Tcl Extension is a dummy extension that provides examples of passing data and status between the Tcl interpreter and the C functions. The code is commented and described in detail in my books.
Tcl html widget
A pure Tcl html display widget
htmllib.tcl. This script was written by Steve Uhler while
he was with Sun Labs. It's a pure Tcl html display package that is
used in TclTutor, htmlview.tcl and TclPoint.
This version supports the Tcl/Tk 8.0 and newer Font conventions and simple tables.
EditTable: Automatically generated database display/editing GUI
Data-Driven GUI generator.
These utilities use the SQL Schema to define a GUI for displaying and editing entries in a table. It will generate a "good enough" GUI from just the Schema, or you can use SQL comments to fine tune the GUI, Using the package is described in the paper that was presented at the US Tcl Conference.
Client-Server Skeleton
Bare-Bones TCP/IP client and server: Just add application
Client-Server Skeleton. These two scripts provide a simple outline for writing Tcl/Tk based client/server applications. The standard socket controls are here (opening a socket, waiting for input, etc), and you just add the code to process the data. Note: The client/server skeleton uses parseArgs from the Tools package.
Oct 2004:
Fortran/Tcl 4: Generating a graphic display with the canvas widget FORTRAN/Tcl: Data Visualization with a Tk Canvas
FORTRAN applications can generate lots of numbers. The Tk canvas provides a good tool for visualizing that information. Discusses
Jun 2004:
Fortran/Tcl 1: Using Tcl with FORTRAN Digression: Fortran/Tcl 1: Using Tcl with FORTRAN Adding a Tcl intepreter to a FORTRAN program is an easy way to extend your FORTRAN programs to support graphics, networks, configuration files, etc. This article describes how to link the Tcl interpreter to a FORTRAN application and use a Tk GUI for input and output. Discusses
|