Detailed ToDo

This page is an explanation for some items in the TODO file, not the TODO file. The file itself can be either found in the source distribution or here.

Database

I have now learned how to access SQLite, and a first application is inserted. voc-get is now interactive! But the only thing it does it initializing, opening the database, printing the available tables in a nice dialog receiving user input, closing the database and finishing. Well, it is at least a visible step further.

According to my expections, the interface to SQLite is not very clean (so if voc-get runs slowly, it is at least the fault of SQLite). The data is accessed row by row, without any information about the number. That is not very nice because it is good to know the size of the array to store in the data in advance. A resizing with realloc() is slow, wastes memory and fragments the heap.

Buffering Array Generation

The fewer realloc() is called, the less ugly the routine is. So it is perhaps useful to use a buffer in the stack with a certain size, allocate a new piece of heap memory when the buffer is full and copy the data in it. This could help to minimize realloc() calls.

UI Development

I will split voc-get into a database handling library and a user interface part. With that splitting voc-get gets UI-independent and you will be able to port it into different graphics libraries. Each port can have its own binary. I will probably port it into GTK2 myself, but if you want to write an interface for a different library (e.g. QT - even if not my preference), you are welcome to do so. I will provide a CVS module and distribute the releases as voc-get package releases (only if they work, of course).

I will do this splitting when voc-get works with its current text interface properly because the library needs to be tested with one interface first and a library API should not be changed because that makes the library incompatible with older programs that depend on it.

I also plan to port voc-get into a text library i.e. a graphics library like GTK in ASCII. Please tell me if you know one. Otherwise, I (you also can if you want ;-)) will do it myself (if there is nothing more important to improve with voc-get at that moment). But I am sure there is one.

Translation

I will translate voc-get into German myself, but first the Makefiles in po and intl have to be finished.

Many projects use Makefile that are distributed by gettext for this, but I will attempt to use automake.


Soeren D. Schulze
voc-get SF page