Michal Čihař - Archive for Jan. 1, 2010

New phpMyAdmin features - user interface cleanup

Next article highlighting some new features which will come in phpMyAdmin 3.4 is about more little changes. You can try them it out on our demo server. Or just wait few hours for first alpha release of 3.4.

The user interface cleanup is partly connected with previous changes, because some functionality simply required more Javascript (for example editor for ENUM/SET fields). Besides these there were major changes in export and import pages, which now should be easier to understand, hiding advanced options from unexperienced users, while still providing ability to change them.

New phpMyAdmin export page

This feature was implemented by Lori Lee during Google Summer of Code 2010.

Strange Monday

Today was quite strange day for me - at the morning I felt quite bad so I took sick day to rest a bit. During afternoon I turned on the computer to see announcement that Novell agrees to be bought in $2.2b deal. As this is company where I work, it of course has attracted my attention.

Novell was bought by Attachmate, a company with one quarter of our employees, and over a third of our revenue, what sounds strange. And this is the first time I hear of this company...

The information is now very scarce (we as employees were not really given more information than is available publicly), so all what remains to people is to speculate. What does it mean for openSUSE? What is the "certain intellectual property" transferred to CPTN Holdings LLC (owned by Microsoft Corp.)? And some people just comment on current situation of Novell and some of it's products :-).

New phpMyAdmin features - schema export

Next article highlighting some new features which will come in phpMyAdmin 3.4 is about relations export. This feature is not much known anyway, so if you have not seen it in phpMyAdmin, just try it out on our demo server or configure phpMyAdmin configuration storage in your copy.

In previous versions, it was possible to export database relational schema into PDF format. The 3.4 release comes with modular system for exporting schema adding SVG, Dia, EPS or Microsoft Visio. Especially SVG and EPS are useful for embedding schema into other documents.

Simple schema exported to SVG

This feature was implemented by Muhammad Adnan during Google Summer of Code 2010.

New phpMyAdmin features - user preferences

The upcoming 3.4 release will bring lot of new functionality. Some of that has been developed by core members, but many contributions were made thanks to Google Summer of Code program, where five students were working on improving phpMyAdmin. If you want to try new features, you can do that on the phpMyAdmin demo server. And I will introduce them in series of blog posts.

One of long requested features was ability to change configuration for each user. And phpMyAdmin now has it. If you have configured the phpMyAdmin configuration storage, settings are permanently stored in the database, otherwise in session and optionally in web storage in your browser.

You can configure any aspect of phpMyAdmin not affecting security or server performance, like confirming DROP queries, default export settings, user interface tweaks and so on.

New phpMyAdmin preferences page

This feature was implemented by Piotr Przybylski during Google Summer of Code 2010.

Czech foreign words dictionary in Debian

Yesterday, stardict-czech got accepted to Debian. So there is yet another useful dictionary for Czech users available in Debian without need to use my repository (however daily builds are still available there).

The dictionary is built from ABZ.cz: slovník cizích slov using my set of scripts, which are also capable of converting other dictionaries.

Thanks to FTP masters team for accepting new package even in freeze, when they are busy with other things. Great work guys.

Gammu documentation improvements

During the weekend, I've found some time to improve documentation for Gammu. One of user accessible things which did lack documentation are native file formats used by Gammu.

There is not that much of them as Gammu supports standard formats for most data (like vCard, vCalendar, iCalendar), but there are things where standard simply does not exists and we need to store that data as well. This is the case for backups (both data and SMS), where SMS backup format is used as well for files backend in Gammu SMSD.

So I went through the SMS backup internals and wrote the documentation. While reading the code I of course discovered quite obvious bug, which was for some reason undiscovered for very long time.

Call for Wammu translations

I'm about to release new Wammu version in one or two weeks, so it's best time to look at the translations and improve them. There is not much new messages since last release, but only few translations were complete back then, so virtually any language (Czech and German are the only ones complete right now) needs improvements.

To translate you can simply use web interface:


If you want more information about translating, please visit our website:


Looking for VServer alternative

It seems like VServer is not something for long run because it does not seem to want to be upstream and there is also no good future for having it as patch in Debian for long run. So I should look for alternatives and probably migrate to some other solution while upgrading my server to Squeeze (once it is released or really close to the release).

There are various options, starting with OpenVZ, through Linux Containers (LXC) up to full virtualization (probably KVM based). With OpenVZ the situation won't be much better, so it is not a real option. For various reasons I don't want to go to full virtualization, I simply thing containers are good enough and avoid too much overhead in some situations.

So the only remaining solution seems to be LXC. There even seem to be some people who managed to migrate from VServer, which is good and will be definitely helpful. Now it's time to play with lxc a bit before I will try to implement it for real.

Gammu gets m-obex support

I've found some time to implement m-obex protocol based on documentation provided by samsyncro project. However I don't have any phone to test it, so any testers are welcome :-).

The testing should be quite easy - just get current Git version of Gammu (either using git or use snapshots) and try to use commands which manipulate with contacts and calendar:

gammu getallmemory ME
gammu getallcalendar
gammu getmemory ME 1
gammu getcalendar 1
gammu addnew test.vcf
gammu addnew test.vcs

In case you have not yet used Gammu with your phone, the configuration for USB cable should look like:

device = /dev/ttyACM0
connection = at

And for Bluetooth:

device = address of the phone
connection = blueobex
model = mobex

Of course there is no guarantee that any of the commands will work, because all I could verify is that code compiles and looks correct. It might as well do something bad to your phone, so backup is recommended.

Changed website

After last fixes during yesterday evening, I've decided to put new website online today. It matches layout of my blog, uses same technology underneath (Django).

The biggest change is probably simplification of the structure and also cleanup of old unused stuff. I tried not to miss anything, but I'm sure something will be discovered in next days.

With this change, I've also shutdown my SVN server as all things has been migrated either elsewhere (usually Debian's collab-maint SVN repository) or are now using Git either on Gitorious or repo.or.cz.