It’s a girl!

I finally found a spare moment to comment about the birth of my daughter named ClĂ©mentine. Both mother and child are well just came back from the maternity. Of course she does not yet sleep during the night…

Worth a read…

“Les nouvelles censures : Dans les coulisses de la manipulation de l’information” from Paul Moreira (a french investigative journalist).

Here is a book I’ve just finished reading and which offers another insight on the way we (the anonymous masses of media consumers) are fed information and how this information is controlled in a very strict way . Too bad it seems to for french readers only…

Libgda/Libgnomedb 3.0 RC1

The title says it all! After a lot of bug fixes and cleanups, I’m pleased to announce that Libgda and Libgnomedb have reached a point where the API and ABI are frozen for the upcoming 3.0 release.

This new upcoming version is a complete overhaul compared to the previous 1.2.x versions (the jump to 3.0 is due to a shared libraries versionning).

The sources can be downloaded from GNOME servers.

Libgnomedb’s status

Here is the last piece of code I’ve committed for a missing feature of Libgnomedb; I’ll now exclusively concentrate on bug fixes before the next stable release (3.0).

The missing feature was to be able to specify a text format when entering data. The new widget which implements it is the GnomeDbFormatEntry widget which inherits directly from GtkEntry (I got ideas from the GtkMaskedEntry widget). That new widget has been integrated into Libgnomedb for its onw data entry widgets:

  • When entering a text, its maximum length can be specified
  • When entering a number, the user cannot enter a number bigger than is type can hold, the number of decimals can be specified, the usage of the thousands separator can also be specified, and a currency symbol can be added
  • The time, date and timestamp data entry now have predefined masks
  • The CIDR data entry widget (as a plugin) is much better

With that feature added, I propose the following schedule for the next stable release of Libgda/Libgnomedb:

  • Wednesday March 21st, 2007: API/ABI freeze
  • Wednesday April 4th, 2007: 3.0.0 release

Storing pictures in a database with Libgda/Libgnomedb

There are now several methods to store pictures in a database (storing actual binary data, not just a file name). Depending on the database type used, one or more methods are available. The actual (binary) data can be stored as:

  • a binary string, if supported by the DBMS (which is the case for MySQL, SQLite or PostgreSQL)
  • a BLOB (binary large object) also if supported by the DBMS (for example PostgreSQL or Oracle)
  • a BASE64 encoded string for any DBMS (with the option of serializing the data as for tags in an F-Spot database)

To test it, you’ll need the latest SVN versions of Libgda, Libgnomedb and Mergeant:

New versions of Libgda, Libgnomedb and Mergeant

I’ve just released new beta versions of the next major stable release of libgda and libgnomedb and a new version of mergeant for your testing pleasure.

Downloads are available at

Please report any bug in bugzilla.

GnomeDb demo

The libgnomedb now has a ‘gnome-db-demo’ program inspired by the ‘gtk-demo’ program which is a good starting place to learn GTK+.



It uses a small embedded SQLite database to have some data to display and let the user have a feeling of the widgets.

Mergeant UI improvements

Second time today that I blog about Mergeant, but I’m excited that it now has many good features. The toolbar now shows the possible actions depending on which page (tables, queries, etc) is currently displayed and database modifications are now integrated.

The screenshot below shows Mergeant with two connections opened, one to a SQLite database (top window) and the other to a PostgreSQL database (bottom left window). From each of these connections, the “New table” button has been pressed and a table creation has popped out: on the far right for the SQLite connection, and on the bottom right for the PostgreSQL connection: notice that the information required is not exactly the same since SQLite and PostgreSQL don’t have the same features.