Hello, and welcome on my small web space. You will find here some software and documents I wrote.
In short, Python:
- has a crystal clear syntax and quite a nice design;
- is very powerful;
- is reasonably portable;
- can be easily extended with C or C++;
- can be easily embedded in C or C++;
- is very well documented;
- is free software.
Moreover, writing Python programs is quite fun. I hear you: “But hey, there are at least two other major interpreted languages that are quite fun to play with!” Naaaa! Python code is maintainable; that is, not only by its author and within the first month of its existence...
Well, enough spoken, here's the beef.
TDBSF, the Trivial Database Search Facility
The engine is written in Python, and the only really usable user interface in ELisp, for Emacs. However, TDBSF is designed to ease the addition of interfaces, so this is only a matter of whether there are people wanting to use it outside Emacs or not.
Since version 2.0, TDBSF has full Unicode support. More precisely, database files may be written in any Unicode-compatible encoding supported by both Python and the interface in use (i.e., currently, Emacs). The encoding of a database file is simply indicated with an encoding declaration, a common practice for Emacs users and Python programmers.
PyXMMS and PyXMMS-remote [old!]
a set of bindings for the
xmms_remote*functions of the libxmms library, plus some higher-level functions
- a Pythonic interface to manage (including reading and writing) the main configuration file for XMMS.
In other words, PyXMMS can be used to control XMMS or manage its main configuration file from a Python program.
PyXMMS is distributed under the GNU GPL version 2.
PyXMMS-remote is a Python program that allows you to control XMMS from the command-line (or another program). Command-line interfaces are very handy when you want to interface several programs or automate some task. PyXMMS-remote needs PyXMMS to function properly.
PyXMMS-remote is distributed under the GNU GPL version 2.
pythondialog is a Python wrapper for the dialog utility originally written by Savio Lam, and later rewritten by Thomas E. Dickey. Its purpose is to provide an easy to use, pythonic and comprehensive Python interface to dialog.
This module is useful if you want to quickly and easily write text-mode2 interfaces in Python. The abstraction level is quite high: you can directly create text boxes, input boxes, radio lists, etc. You cannot do low-level stuff with this program. In that case, you should look at ncurses or slang. For sophisticated text-mode interfaces, the Urwid Python library looks rather interesting, too. Document yourself and make up your mind!
I started working on the original pythondialog, mainly written by Robb Shecter. I made it more robust, complete and well-documented. During a few years (2004–2009), pythondialog has been in the hands of Peter Åstrand, who uploaded version 2.7 on SourceForge.
I resumed my work on pythondialog, and new versions are available here, because it is more convenient for me than using SourceForge. Numerous improvements have happened in the last versions (which are not quite young anymore...), mainly since version 2.09 (mostly, support for new widgets). Check it out!
Next things on my TODO list are Python 3 support and properly dealing with Unicode strings. For now, non-ASCII characters are supported if you encode them before passing them to pythondialog (for instance, to UTF-8; of course, the terminal in use must support that encoding). However, I think it would be nice to be able to directly use Unicode strings, but since this area has seen significant changes between Python 2 and Python 3, I don't think it is worth investigating the issue before the port to Python 3.
pythondialog is distributed under the GNU LGPL (GNU Lesser General Public License).
Debian [a bit oldish!]
During my free time, I like working on the Debian distribution. You can find a few packages that I build or rebuild myself below (most notably, some backports for lenny). Use them at your own risk!
deb http://people.via.ecp.fr/~flo/debian lenny main contrib non-free deb-src http://people.via.ecp.fr/~flo/debian lenny main contrib non-free
deb http://people.via.ecp.fr/~flo/debian sid main contrib non-free deb-src http://people.via.ecp.fr/~flo/debian sid main contrib non-free
I wrote an Emacs tutorial (in French). GNU Emacs is an extremely powerful text editor. It is also quite portable (it runs perfectly on most Unix flavours, on Windows, and at least in text mode on MacOS X—not to mention lots of older operating systems Emacs runs on).
If you are interested in this tutorial, you most probably can read French and will want to switch to this page's French version which is more complete on the subject.
I wrote an introduction to LaTeX, a program based on TeX that is used to produce high quality documents, in a printable form or for screen reading (best accomplished with the PDF format nowadays). This document is written in French, therefore you most probably can read French if you are interested, and should switch to this page's French version, which is more complete on the subject.
1. X-Window is the standard graphical layer of all Unix flavours (and therefore of GNU/Linux, which is today's most well-known Unix flavour).