June 23, 2003

Tcl-URL!

John Seal

Want to keep up on the latest in Tcl? There's no better way than subscribing to "Dr. Dobb's Tcl-URL!: The Weekly Guide to Tcl Resources." These weekly postings will keep you up-to-date on the latest conferences, papers, releases, links, and more core information about Tcl. DDJ is proud to be associated with the Tcl-URL! team that launched this valuable project.

QOTW:

 "The Tcl style guide notes particularly not to abbr opts."? Jeff Hobbs

 "...the tool of preference I reach for time after time when I really need to get something done is Tcl. It's the very best club one could ask for to beat a problem to death."?Larry Smith

POTW:

 moodss 17.3 by Jean-Luc Fontaine: "Moodss... displays data described and updated in one or more modules, which can be specified in the command line or dynamically loaded or unloaded while the application is running.... Specific modules can easily be developed in the Tcl, Perl and Python scripting languages or in C." Most intriguingly, moodss appears to be in use within IBM's Linux groups.

 http://wiki.tcl.tk/mooddss

Need to create lots of windows under Windows, but only one taskbar icon? Use [wm transient] and this trick from Donald Arseneau and the crew:

 http://groups.google.com/groups?th=15a88f2d4d76fc18

Did you know that [array set] adds to what's already there? I sure didn't!

 http://groups.google.com/groups?th=46aea6c9331a1045
Discussion of "What widget for simple diagram editor" teaches us that

 1) Simple tasks aren't necessarily simple to code,
 2) It's easier to start from somebody else's code, and
 3) Here's a golden opportunity to contribute to the Tcl community.

 http://groups.google.com/groups?th=8c9740ec82ab6830

Just because an abbreviation used to be unambiguous, doesn't mean it still is. -com[mand] ambiguity -com[pound]s an unsuspecting user's pain:

 http://groups.google.com/groups?th=d231d0bd6fb72f01

An introspection :-) into debuggers, inspectors, consoles, and errors, in which we learn how Tcl is not PHP. The lengthy "Never say die" thread and some of its children:

 http://groups.google.com/groups?th=bfe0e3d97c23129b
 http://groups.google.com/groups?th=f8779178d518cb7b (Rivet)
 http://groups.google.com/groups?th=1631c204f19074c3 (tkinspect)
 http://groups.google.com/groups?th=c5e965a7800bd6fc (Komodo License)
 http://groups.google.com/groups?th=fb626990618c25c8 (namespaces...)

One of my favorite packages discussed in "usage of comm". Just remember to run the
event loop!

 http://groups.google.com/groups?th=ee5616ba03f26109

Native Aqua Tcl/Tk on Mac OS X is still somewhat of an odd duck:

 http://groups.google.com/groups?th=fed0e7e54cee2e74

A frequent newbie problem: Building a -command now, to execute later:

 http://groups.google.com/groups?th=d9ce8f7412ba03cb
 http://groups.google.com/groups?th=41665a49abe7fbed

 Thanks to Arjen Markus for his review of Wiki activity. With this installment, he's already put in one full year on the job.

 The last seven or eight days on the Wiki are filled with the way to do things. So let us categorise along this axis:

Debugging:

An overview of several debugging techniques and pointers to other pages is to be found at http://wiki.tcl.tk/4344

Tkinspect is one such tool, with a new tutorial its page is http://wiki.tcl.tk/511

Here is another method, inspecting the application's state via a browser,
http://wiki.tcl.tk/9154

Perhaps the recommendations for making sure that Tcl scripts can be run properly cross-platform, http://wiki.tcl.tk/1110 may be placed here too.

Parsing input:

The overview for parsing various types of data is located at http://wiki.tcl.tk/4359

Parsing HTML is a new member of this family, though the code may be older, see
http://wiki.tcl.tk/9153

Now you see it, now you don't:

Saving the contents of various widgets so that they can be restored later, is not that difficult: the process is called serialising (or serializing, depending on your particular dictionary) and is exemplified in http://wiki.tcl.tk/9167 with others like it.

Saving and restoring images, well, see for yourself: http://wiki.tcl.tk/9160 shows how to convert an image into a string http://wiki.tcl.tk/9127 shows how to convert a window into an image

Two to go ...

For a collection of very disparate algorithms, see this "Bag of algorithms",
http://wiki.tcl.tk/526

A full application described at the Wiki: managing a medical practice, http://wiki.tcl.tk/9131