Wiki summary - 14 june 2020

Difference between version 0 and 1 - Previous - Next
In these strange times the Wiki is still a good place to visit from time
to time. And quite a few things have happened since the previous
summary. So let's start without further ado.


'''Community efforts'''

Unfortunately, the world-wide conference and the European meeting have
been cancelled due to the COVID-19 virus still turning our world upside
down.

One other consequence, the [OpenSky App] has far fewer flights to show
and keep track of, but it is still an impressive sight.


'''Communication - between computers'''

A title called [Package iocp] may not jump out in the Wiki's recent
changes page, but it leads to a Windows world of communication, sockets,
ports ...

And [Daerth] is another one of those little gemstones: it provides
mutithreading via queues. The details are, of course, nicely hidden in a
handful of commands.


'''Communication - from person to computer and back'''

Plenty of pages present GUI elements - from the style in which widgets
appears, just check the [awthemes] with an interactive demo or a
flexible menu system like [flexmenu] to much more comprehensive packageslieke the venerable [Tablelist], currently at version 6.9. To see how it
works, there is again a nice embedded demo.

Sometimes you a need a more specialised GUI element:

What to think of an [Entry widget for numeric data]? Filling numbers
with automatic checks.

Or customising the themed treeview widget with [dgw::tvmixins], which
shows that extending functionality is easily achieved, if you know your
techniques.

You know "Jupyter" notebooks? They are quite a fashion - Python, Julia,
R. But now you can do the same with Tcl - visit [tcljupyter] for
details.

One step further and you talking about systems to create
and especially maintain websites. Well, there are plenty of those
around, all with their own merits and sources of inspiration. [Track]
and [Toolatra] are two recent developments and [Tclssg] has been around
a bit longer, but is meant for static sites.


'''Playful pages'''

The amazing [Gear Animation] is even more amazing when viewed from your
browser.

But perhaps you want to play a card game ... there are many to choose
from, [Once In A Lifetime] being only one. Hunt the Wiki for others!


'''Programming galore'''

[BAWT] makes building C/C++ packages and applications easy, even on
Windows. You can safely ignore the multitude of build environments.

Sometimes your Tcl program is an integral part of another program. On
Windows, this might mean wrapping it up into a DLL. This might be
a challenge, but [Embedding TCL program in DLL] makes the process a lot
easier.

If you are programming in Ada besides, then [Tashy] allows you to
combine the two. Have a Tk GUI from within your Ada program.

There comes a time that you need an iteractive debugger to find out what
is going wrong with your program. Tired of the plain command-line
interface [gdb] offers? The Wiki page offers Tk-based alternatives.

Does the name [critbit] mean anything to you? You may know them as
Patricia trees, Radix trees or tries. One of those clever data
structures that can make look-ups quite efficient.

It pays off, certainly in the longer run, to keep a particular
programming style. The [Tcl Style Guide] is meant to help you out with
one such style.

And that holds for more than just the Tcl code. The [Tcl C API Design Principles]
describes what goes into the implementation itself.

You could also profit from a documentation generation system like
[Ruff!], when you are serious about your programs and want to have good
documentation without too much extra work.


'''One picture says more than a 1000 words'''

Whether the old maxime is universally true, your Wiki chronicler does
not know. But let's face it: you can do a lot with nice pictures.
The [pixmix] package for instance allows you to manipulate images and
especially with the [Blend2D] support, you can do that on any platform.

Another plotting library, [tclcairo], offers support for a good many
output formats, PDF and SVG for instance.

<<categories>>Category Tcler's Wiki