Michal Čihař - Archives

More fun with phpMyAdmin package in Debian

When finishing series of articles about Debian packaging and writing about dbconfig-common, I just had to ask myself, why it is not used in phpMyAdmin package. I did not find any reason and as Thijs did not have any objections, I hacked it together this evening.

So what you will get? All fancy features where phpMyAdmin requires it's database to manage some additional features. For example you can create PDF pages with structure of your database, add additional comments to databases, notice relations between MyISAM tables, etc. Simply see wiki for more details.

Besides this, phpMyAdmin is now automatically configured to use database you choose using dbconfig-common, so you can also connect to remote MySQL server without manually configuring anything.

The only thing which scares me a bit is that we now increased a lot number of debconf questions user has to reply by this...

Please ask on appropriate place

I had to do it once and now the time came. Floating around hundredths of unread mails for Gammu is not a way to go. I'm just middle of processing it, but most of you will get just generic reply, asking you to either file bug report to bug tracker or to write to mailing list. There is simply no reason why so much communication should be private between me and you. I think this is generally valid for any open source project, it usually does not make sense contact main developer directly when there are more appropriate ways to communicate.

If you find a bug or something does not work, simply report it! If you can search for duplicates before it is even better and you might be able to include some additional information, but even if you skip this step, it is much easier to track problems in bug tracker than in mailbox. Also in bug tracker the issue will not disappear until it is not fixed, in mailbox, it gets quickly out of focus and I will forget it.

Once more: If you've found a bug, report it!

If you have some question, you have much better chance to receive answer on mailing list. Simply there are more people hanging around and somebody might have already seen the problem. What is another good thing on mailing list is that they have archives, so that you can look whether somebody did not solve similar problem before. Also others will be then able to find your solution.

Summary again: If you have a question, ask on mailing list!

Little patch for me, big change for phpMyAdmin

I just commited to phpMyAdmin trunk (will be released once as 3.1) few small patches, but the change is quite important - phpMyAdmin will now default to cookie authentication method and it will not allow to login as root user without password (unless it is explicitly enabled in configuration).

Reasons for both changes are simple - most people change default authentication to cookie in production environment anyway, so why not to make it default and giving remote access to freshly installed MySQL server has been always considered a bit security issue. Well it was an user problem, but why not to prevent such issues?

Number of records in phone database

I was today just too lazy to do much actual work, but I spend time on playing with something new - this time it was Google Chart API or better Python Google Chart module. I wanted to have some visualisation of growth of data in Gammu phone database for a long time and this module seemed to be good way to achieve good charts.

After a bit of playing I got following chart:

Chart showing history of phone database.

What we can see from it? Number of garbage grows very fast. Mostly it is caused by Wammu, which asks user for feedback after some time of active usage and this sometimes leads to duplicate records (but it also brings information which phones are really being used).

The bad thing which is visible here is that mostly half of reports is about unsupported phones! I think we should do something about this as the reality is not really that bad and from my POV, most of failure reports are caused by wrong configuration being used. I know it is sometimes tricky to find working one especially when you use Nokia phone with cable, where exists simply too much possibilities. It's time to tweak up autodetection so that it can handle most of such cases (and recent HAL features to export capabilities of modem devices might also help in this area).

Demo server updates

Today I finally made something for phpMyAdmin :-). First I've updated Czech translation of 3.0, so it is not that behind as it used to be (only some PBXT strings are missing right now) and then I fixed some potential issues which Thijs has found (thanks to him for his great security work not only for Debian).

Later I focused a bit on demo server. As we already have new setup script from GSoC (made by Piotr Przybylski), links to setup script have been updated and I also reorganised links to all demo versions including direct login links for cookie based authentication. I hope it is now a bit easier to navigate and choose which demo version you want to test :-).

Gammu test version 1.20.90

New testing version of Gammu was just born. It brings quite a lot of fixes and changes API a bit (some things will also change in next testing release).

Full list of changes:

  • ABI change, because of increasing some limits.
  • Config file option rsslevel no longer works, superseded by gammu checkversion.
  • Dropped GSM_ReadHTTPFile from API, gammu now uses CURL instead.
  • Support for longer notes on Nokia phones (bug #607).
  • Add deleteallmemory command.
  • Ignore trailing spaces in AT commands.
  • Fix crash on long lines in vCards.
  • Compatibility with broken iWOW responses (bug #650).
  • Do not use hard delete flag for updating entries (bug #634).
  • Identify Nokia 1200 (bug #649).
  • Fix parsing of date/time reply on Sony Ericsson G900 (bug #647).
  • Increased limit for folder name (bug #646).
  • Fix parsing of empty date (bug #643).
  • Recognize general number on Nokia 6230i (bug #655).
  • Fix writing of phone number using HEX charset (bug #512).
  • Recognize more CME errors, thanks to Paolo oopla@users.sf.net.

You can download from usual place: http://cihar.com/gammu/, Debian users will find packages in experimental as soon as it passes NEW queue.

PS: I still have about 100 unread mails about Gammu, so please be patient.

Phone synchronisation, finally

One of long standing things on my todo list was to make synchronisation work from my cell phone (Sony-Ericsson K750i) to some PIM application on Linux side (as a GNOME user Evolution is the natural choice). I tried it several times but it never actually worked. Today I gave it yet another try and I finally succeeded on first attempt :-).

As a first step I just wanted to make a backup of all things. Gammu can do it quite well and it's the tool I trust for this purpose:

gammu backup /tmp/phonebook.vcf
gammu backup /tmp/calendar.vcs

Now it's time to play with OpenSync. We will use setup guide and SyncML guide as a starting point. As I had in past problems with both sides - both phone and Evolution failed with some random errors, I wanted to go step by step. So I started with setting up phone to files synchronisation:

msynctool --addgroup file2phone
msynctool --addmember file2phone file-sync
msynctool --addmember file2phone syncml-obex-client

Now we need to configure file storage, just tell it where it should store the data:

msynctool --configure file2phone 1

And change path in your editor to something like:

<?xml version="1.0"?>
<config>
  <!-- directory path for file-sync -->
  <path>/home/foo/phone-backup/</path>

  <!-- should care of subdirectories (TRUE or FALSE) -->
  <recursive>FALSE</recursive>
</config>

Now the more tricky part comes, we need to set up phone end:

msynctool --configure file2phone 2

Fortunately we can use example from the SyncML guide and just fill in Bluetooth address (you can get it using hcitool scan) and channel (sdptool browse 00:b0:0b:fa:ce:00):

<?xml version="1.0"?>
<config>
  <bluetooth_address>00:b0:0b:fa:ce:00</bluetooth_address>
  <bluetooth_channel>7</bluetooth_channel>
  <identifier>Sony Ericss</identifier>
  <version>1</version>
  <wbxml>1</wbxml>
  <username></username>
  <password></password>
  <type>2</type>
  <usestringtable>0</usestringtable>
  <onlyreplace>0</onlyreplace>
  <onlyLocaltime>0</onlyLocaltime>
  <recvLimit>0</recvLimit>
  <maxObjSize>0</maxObjSize>
  <contact_db>Contacts</contact_db>
  <calendar_db>Agenda</calendar_db>
  <note_db>Notes</note_db>
</config>

And now we should be able to synchronise whole phonebook from phone to selected directory:

msynctool --sync file2phone

Okay, this works, let's try more complicated thing - include Evolution in the chain. The steps are the same, config file for phone is the same, Evolution plugin has sane defaults you usually don't have to touch:

msynctool --addgroup phone2evo
msynctool --addmember phone2evo evo2-sync
msynctool --addmember phone2evo syncml-obex-client
msynctool --configure phone2evo 1
msynctool --configure phone2evo 2

But now comes the tricky thing - Sony-Ericsson phones usually have something broken around notes (or it is broken in OpenSync, I don't care, simply synchronisation fails without this step) and we have to avoid synchronisation of them. This can be done by changing filter file in group we've created above (usually in file ~/.opensync-0.22/group2/filter.conf):

<?xml version="1.0"?>
<filter>
  <note/>
</filter>

And finally we can start the synchronisation and it should work:

msynctool --sync phone2evo

You can also GUI multisync0.90 to do the configuration and start synchronisation, but it is not much different, you also still have to edit XML files.

Wammu 0.28

I just released version 0.28 of Wammu. This release fixes various problems found by users. Full list of changes:

  • Fixed freeze while searching for Bluetooth devices.
  • Fixed guided configuration of Bluetooth devices (no more complains about not existing device).
  • Fixed saving of backups to folder with non ASCII names.
  • Validation is less strict and allows hopefully all number.

This release also comes with binary for Windows with embedded Gammu 1.20.0.

Cool down the server

Moving of server seems to go quite well. There were some outages for users during night because of too big TTL in DNS, but after setting up redirector at old IP during morning, this should not be a problem. Now only few hosted sites were still unable to change their DNS settings, but it's not my problem :-).

On the other hand, it looks that moving server to new server room will have some positive effect on it's health:

Temperature of disks