[image of a Brave GNU World]
Brave GNU World - Issue #30
Copyright © 2001 Georg C. F. Greve <greve@gnu.org>
Permission statement below.

[DE | EN | FR | JA | ES | KO | PT]

Welcome to another issue of the Brave GNU World. This months issue features a rather wide variety of topics with a semi-experimental feature at the end that has been created together with Bernhard Reiter. But first let's start with the technical part.


A minimal GNU/Linux distribution is the goal of the TINY [5] project. It was started by Odile Bénassy, the team also consists of Jean-François Martinez, Mathieu Roy and Roger Dingledine. The acronym TINY stands for "'Tis Independence N'Yet," which is a pun with "Independence Linux," the main project of Jean-François Martinez.

The project goes back to the personal experience of a relative of Odile, who tried to introduce GNU/Linux in her school, and the idea of giving evolving countries the chance to participate in the information age and letting them profit from Free Software. In order to achieve this, keeping hardware-requirements low was one of the primary goals. The current minimum is a 386 DX 33 without harddisk.

Of course evolving countries also have many other problems and even if you do not think about these, the missing technical infrastructure poses a problem. Not only is there no internet connection and floppy disks do not survive the climate, very often people do not even have electricity.

But help programs exist to get electricity and phone lines into remote areas. Odile has talked to scientists and physicians helping in such programs on a voluntary basis in order to fit TINY to the needs.

TINY is based on a Slackware 4.0 and uses the glibc2 and kernel 2.2; the license for the distribution is the GNU General Public License, of course. Other than some minimal distributions, TINY is completely usable and ready for everyday use. Therefore TINY might also interest people simply on the search for a minimal distribution.

The distribution can be installed successfully as the messages on the home page available in six languages [5] show. But a more verbose documentation and a longer and better-maintained application list is desirable.

Due to an acute lack of time, the project is currently halted. Also feedback from evolving countries is still lacking. So the current team would like to turn over the project to another group of people that they would give every help and support they can.

If you're interested in helping others to help themselves, TINY might provide a good basis. But even if you are simply looking for a minimal distribution, TINY should be worth a glance.

GNU TeXmacs

The GNU TeXmacs [6] project works on a Free Software scientific what-you-see-is-what-you-get text editor. As the name suggests, Joris van der Hoeven, author of GNU TeXmacs, was inspired by GNU EMACS and LaTeX.

Other than the LyX project [7], which may seem somewhat similar at the first glance, it is not a LaTeX front end but an independent project. The inspiration by LaTeX was in terms of typesetting quality and capabilities for typesetting mathematical expressions, which is an area LaTeX undoubtedly offers the currently best solution in. Also GNU TeXmacs is using the TeX fonts and it has import/export filters for TeX/LaTeX documents.

The EMACS-inspiration was mostly in terms of extensibility. GNU TeXmacs is written in C++ with Guile/Scheme as extension-language. The user interface and the editor itself can be customized/extended with Guile commands.

GNU TeXmacs also allows to perform scientific calculations directly through interfaces to Maxima, Pari GP, GTybalt, Yacas, Macaulay 2, Mupad and Reduce. An interface to Scilab should be usable soon and adding more interfaces is relatively easy.

Combined with the planned extension towards becoming a full XML-editor, GNU TeXmacs offers interesting possibilities for things like interactive mathematical documents on the internet.

Thanks to professional typesetting quality, a good anti-aliasing of the TeX fonts, the possibility of structured documents and the potential for dynamic macros and style-files, GNU TeXmacs offers especially the scientific user a lot of possibilities.

The current situation of the project is just before the 1.0 version after Joris van der Hoeven, Andrey Grozin, Thomas Rohwer and others have been working on it for about four years now. Current problems are some incompletely implemented features and LaTeX filters that still offer some room for improvement. Also the documentation is still too terse.

The immediate plans are to get rid of these problems and get version 1.0 released. Then spreadsheet support and the XML/HTML extensions are the next steps. Rather far-fetched are plans to port it to non-Unix platforms and a part for technical drawings.

Help is welcome in any form; from documentation, translations, writing of filters, ports to other platforms and GNOME support to making GNU TeXmacs more widely known and used.

CD-ROM Control

Since the small projects have been neglected a bit, it is time to feature on of them here.

CD-ROM Control [8] by Paul Millar is a small applet to control the CD-ROM. It was written in Tcl/Tk with a small part in C. Besides a status display it offers easy possibilities for mounting/unmounting/ejecting a CD-ROM by mouse-click. The GUI can alternatively be Tk or GTK+.

The special feature of CD-ROM control is autostart, which allows automatically starting the favorite graphical file manager, web browser or audio-application when entering a CD.

Even if the integrated desktops offer part of this functionality, this is not true for all window managers, which is why this project might be interesting to some.


Saxogram [9] by Matt Dunford is probably the most uncommon project of this issue. The name is derived from the relatively unknown Danish historian Saxo Grammaticus, whose chronicles are a relatively far-fetched reference for Hamlet by Shakespeare. This suggests the project is somehow related to literature.

Saxogram allows to create a vocabulary-list for documents in foreign languages in order to make learning a new language easier. Like so many people before him, Matt learned Latin and Greek, which very often required looking up every third word. When he one day discovered a Latin dictionary [10] on the web, he began working on Saxogram.

Saxogram parses a document for words and looks them up automatically in a dictionary. The output is all the words found together with their explanation. When doing this, Saxogram is quite successful in dealing with conjugated and declined words correctly.

A neuralgic point is the accessibility of dictionaries, because free ones are rare. Although the "Internet Dictionary Project" [11] works on this, the dictionaries are not yet stable enough. Also the online-dictionary LEO [12] is only a limited help as it can only translate between English and German. As far as Greek dictionaries go, Matt hasn't found a single one and would very much appreciate being pointed to one.

The program was written in Python and is released under the GNU General Public License. Its main problem is execution speed due to many regular expressions and disk accesses, because execution speed was not on the authors mind when writing the application. To fix this is very high on the task list for further developments.

Currently supported are German, Latin and a little Italian while the "working language" is English. Adding further languages is another development goal, as is the creation of a GUI.

Most important for further development are more testers and dictionaries, so interested people should get in touch.

GNU libiconv

The GNU libiconv [13] is the character set conversion library of the GNU Project; through the iconv() function it offers programs the functionality of convert documents between different character sets.

A few words about the background: traditionally, the character set contains 256 values, each of which represents a letter. Thinking about Asiatic languages and local specialties like the German "Umlaute" or the Euro sign makes it obvious that 256 values are not enough to represent every letter on this planet.

So people in the different language-areas created modified character sets that would contain the local letters. Because of this, the letter for a certain value has become ambiguous because it depends on the language-area. Therefore the selected language-area is specified by the so-called "encoding."

In order to internationalize a program properly, the program must be capable of converting character sets into each other. For all text-processing programs, this is a basic requirement.

Ulrich Drepper already tried to create a standard solution for this problem about two years ago for the glibc - but because of portability problems, the solution has not made it into the glibc, which resulted in a splintering of the charecter set conversion libraries. Bruno Haible seeks to change this with libiconv.

Libiconv supplies the already mentioned iconv() function in the same way it is supplied by the glibc 2.2. Libiconv is portable, fast and autonomous, so it can be used to supply the iconv() functionality on all systems without the glibc 2.2.

Authors can now use iconv() without fearing for portability of their programs and especially authors of mail programs should do this because a lot of the mail clients do not yet handle MIME extensions correctly.

Like the glibc, libiconv is covered by the GNU Lesser General Public License, so it can be linked with proprietary programs if need be. This should hopefully serve the conversion problems for everyone.

Quite impressive about the libiconv functionality is also its transliteration feature. A character that does not exist in the target character set, can be approximated by one or more similar characters if the "//TRANSLIT" feature is requested.


Mozart/Oz [14] is a rather interesting development platform that I'd like to say a few words about. Since a complete description of all aspects would go beyond the size of this feature, I'll merely try to point out some points to give developers a first idea what it is all about.

Mozart was started 1991 in the European ACCLAIM project and has been developed with cooperative efforts under a X11-like license. Although the license is certainly not optimal, it does qualify as Free Software.

Mozart is a development platform for intelligent, distributed applications. Especially "distributed computing" is a big strength of Mozart, as it makes the network transparent. Additionally it supports multiple paradigms, concurrent programming through lightweight threads - several thousand threads per application are possible - as well as mobile agents and more.

The Oz virtual machine is rather portable and runs on almost all Unix-derivates as well as MS Windows. For the user interface it supplies an object oriented library with a high-level well integrated interface to Tcl/Tk.

The project is usable and by now the biggest problem are developers that have to unlearn bad habits. But of course some things are still being worked on.

Plans for the future contain improving reliability, security and network-transparency as well as adding more tools.

The Mozart Consortium can use help especially in form of a volunteer for a Windows IDE. The current IDE is based on GNU EMACS, which does not satisfy everyone's taste. Also a port to Macintosh is in the works - but this is proceeding rather slowly and help would be welcome.

If you are interested in taking a closer look at Mozart/Oz, a look at the home page [14] is recommended.

Free Software and 3D?

This feature was initiated and very much coined by Bernhard Reiter, who could be known to long-time readers of the Brave GNU World from the GRASS GIS feature [15] in issue #14. As the German representative of the FSF Europe and co-founder of the Intevation GmbH, a company working only with and on Free Software, he spends a lot of time on Free Software.

The results of last weekend's search for a real Free Software 3D modelling tool remained unsatisfactory, this is interesting.

Especially 3D-modelling is a very interesting and important topic, which is also why the llast FSF-Award has gone to Brian Paul for his work on the Mesa 3D graphics library. But still there are no fully developed Free Software modelling tools available; this is probably due to two reasons.

First of all it was not possible to find a good overview web page about Free 3D software. Very often not even related projects seem to know of each other.

Also proprietary products that are available at a seemingly low price apparently provide an efficient development-roadblock. Users are swayed by the originally low price and do not realize that this step makes it impossible to maintain their software in the future.

As Bernhard says: "This is a classic example that pragmatism and too early compromises in terms of softwar freedom slow down a whole software area; also because this took away the pressure to create Free solutions."

Especially through networking any non-programmer can focus the development in an area as Dave Phillips has shown with his "Sound & MIDI Software for GNU/Linux" page [16]. A comparable web page for 3D modelling with Free Software would be a substantial contribution to this area.

Enough for today

So much for this Brave GNU World issue. I hope to have provided some interesting ideas and as usual I ask you to mail comments, questions, idea and interesting projects to the usual address [1]. Maybe even some Free Software from the 3D area.

[1] Send ideas, comments and questions to Brave GNU World <column@brave-gnu-world.org>
[2] Home page of the GNU Project http://www.gnu.org/
[3] Home page of Georg's Brave GNU World http://brave-gnu-world.org
[4] "We run GNU" initiative http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] TINY GNU/Linux distribution home page http://tiny.seul.org/de/
[6] GNU TeXmacs home page http://www.texmacs.org
[7] LyX home page http://www.lyx.org
[8] CD-ROM control home page http://sourceforge.net/projects/crcontrol
[9] Saxogram home page http://saxogram.sourceforge.net/
[10] Online Latin Dictionary http://king.tidbits.com/matt/LatinDictReadMe.html
[11] The "Internet Dictionary Project" http://www.june29.com/IDP/
[12] LEO English/German Dictionary http://dict.leo.org
[13] GNU libiconv home page http://clisp.cons.org/~haible/packages-libiconv.html
[14] Mozart/Oz home page http://www.mozart-oz.org
[15] Brave GNU World, issue #14 http://www.gnu.org/brave-gnu-world/issue-14.de.html
[16] Sound & MIDI Software for GNU/Linux http://sound.condorow.net

[ previous issue | Brave GNU World home | next issue ]

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org.
There are also other ways to contact the FSF.

Please send comments on Georg's Brave GNU World (in English or German) to column@gnu.org,
send comments on these web pages to webmasters@www.gnu.org,
send other questions to gnu@gnu.org.

Copyright (C) 2001 Georg C. F. Greve

Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.

Last modified: Mon Jul 23 17:36:36 CEST 2001