Enrico Zini Debian pages

Moved to www.enricozini.org.

Debian activities


Overview of the free software I maintan


tagcoll takes a collection of items categorized with multiple tags and performs various kinds of operations on them.

tagcoll has been written with the purpose of studying tagged collections and experiment with tagged collection algorithms.


tagcolledit is an experimental GUI program to perform mass-editing of tagged collections.  It has been written to be the basis for implementing editors for any kind of tagged collections, like package tags and web browser bookmarks.

Altough still on its infancy, it can already be used to navigate and perform heavy-duty editing of the Debian Package Tags database.

Together with debtags, it can be used to produce tag patches that can be submitted for inclusion in the main tag database or installed in /etc/debtags/tagpatch.d to customize the database locally.

Debian Package Tags

The Debian Package Tags system is intended to be the evolution of the package sections historically used in Debian.  Unlike what happens with package sections, the package tags system is designed so that more than one tag can be attached to a package, and so that all attached tags have the same importance.


guessnet  is  a program that guesses which of a set of networks is connected to an Ethernet interface.

It takes a list of candidate profiles on input, each with one or more ways to scan for them, and runs each scan in parallel.  The  first scan that succeeds causes the corresponding name to be printed in standard output and the program to exit immediately.

La Comune

La Comune is a multimedia content managment system in which the same multimedia object repository is shared between many different websites.

La Comune is born in an effort to join forces between many different media producers, that cooperate to create a unique publishing network. Because of this cooperative identity, all data uploaded in the system is shared between all the participants to the network, altough it keeps track of who made it available.

The idea is that all realities can take advantage of the common supply of contents, and differ from each other in the way they structure access to the data, allowing different communities to enjoy it.


launchtool is a tool that runs a user-supplied command and can supervise its execution in many ways, such as controlling its environment, blocking signals, logging its output, changing user and group permissions, limiting resource usage, restarting it if it fails, running it continuously and turn it into a daemon.

launchtool is fully configurable, both through the commandline and using configuration files. Configuration files can be made executable and start with "#!/usr/bin/launchtool -C", to create daemons using simpler commands.

launchtool is a daemon that monitors the status of one or more ethernet interfaces, calling an external script when something changes.


log2mail is a daemon matching patterns in log files and sending mail if a match occurs.

log2mail can match many patterns in many files and support many options to control how mails are sent, including frequency, number of lines and a template to do the actual mail layout.

log2mail allows critical messages usually stored in log files to proptly get to the attention of the interested people, wherever they might be.

log2mail has originally been written by Michael Krax, and I've now taken it in charge.


tagbk is a tool to sort bookmark data saved in XBEL format to obtain a better navigable bookmark tree.

It allows to consider every bookmark as if tagged with one or more cathegories, all with the same importance, and to use the bookmark tree with this phylosophy.

A more detailed description of the tagbk rationale and algorithm is found in a draft paper available in .PDF format; before trying tagbk, you should really give it a read.


stated is a daemon that maintains a description of the system status and takes user-defined actions when it changes.

Status is queried and changes are notified to stated using a simple and effective client program.

Actions are programmed in a simple custom language provided by stated with effective ad-hoc constructs specially designed for this task, intermixed by instructions written in the scripting language of user's choice.

Actions can be defined both system-wide and per-user.

All the components of stated are kept as simple as possible in order to ease learning and avoid usage mistakes. The internal structure of the program is kept simple as well, to ease program maintainability and adhere the *nix principle of having one simple tool for every simple task and have them cooperate together to accomplish complex duties.


dosgate is a program that recreates in a dosemu session every i/o event that would occur during normal Linux console routine. This is useful to use every dos screen reader that works under dosemu as a Linux screen reader.

Note that if your braille display is supported by the excellent BRLTTY you'd best give it a try: it will surely give you more power and less problems: dosgate is an interesting hack, but provides a really sub-optimal system compared to the other Linux alternatives, no matter how good is the DOS screen reader in use


reshare is a simple command to share resource with two possible states (on/off) in a multiuser system.

Users can request and release the resource, and it will be set to on if and only if one or more users are requesting it. An example of such resource is an internet connection.

It can do access control via unix groups, logging and accounting.  It also has a CGI frontend.

netplugd [discontinued]

(last version: 0.2)

Note: I have stopped developing netplugd because I discovered the existance of ifplugd, that does exactly the same things that netplugd does.

netplugd main and download page (kept online but not maintained anymore)