Michal Čihař - Blog Archives for English

New python-gammu user

As it already appeared on Gammu wiki, I consider it official. I'm happy to announce that there is another python-gammu based open source application to manipulate your phone. It is called gMobileMedia and it is focused on multimedia data stored in phones.

It's nice to see that somebody else is actually using my Python bindings :-).

Too slow coder

Okay the release I promised will be delayed as I didn't manage to rewrite editor widget fast enough. Right now I have the editor itself working, it only needs some code cleanup and implement returning of value. After this "minor" thing will be implemented, you can expect new version, what will hopefully happen this week.

Multi language site with PHP and gettext

As announced yesterday, I started to translate my website to Czech. I take it mostly as experiment how to do such thing easily. I don't want ot maintain different pages for each language, so the logical step seemed to use gettext which I know for translating regullar applications.

Using gettext from PHP is quite easy. You can just follow documentation and you will get basic idea. Only tricky part was to set encoding so that messages are displayed correctly.

The whole magic that selects translation based on host name is few lines of PHP code:

$lang = 'en';
if (substr($_SERVER['HTTP_HOST'], 0, 3) == 'cz.') {
    $lang = 'cz';

    setlocale(LC_MESSAGES, 'cs_CZ.UTF-8');
    setlocale(LC_ALL, 'cs_CZ.UTF-8');
    bindtextdomain('website', 'locale');
    bind_textdomain_codeset('website', 'utf-8');
    textdomain('website');
    $_SERVER['HTTP_HOST'] = substr($_SERVER['HTTP_HOST'], 3);
}

You can see that is't just locales and gettext initialisation and cutting host name so that rest of code doesn't have to deal both possibilities.

The hardest work is to make all PHP pages use gettext instead of plain text constants and translate them. I will probably never convert whole site, but it is not needed and only parts can be translated using this approach without any additional effort.

Browser incompatibilities

Today I looked at menu on top of Wammu pages in MSIE and it was displayed completely differently than in Firefox. So another CSS hacking session had to begin to fix the menu look.

Fortunately I found ies4linux which easilly installed MSIE on my Linux computer so that I can test the beast without searching for some Windows installation.

Anyway now it looks almost same in both browsers (there are some minor glitches in MSIE which I'm going to ignore).

Started Czech translation of website

Today I finally setup gettext and started to convert some page to make use of it. Currently only Wammu page contains translated parts, but I will try to improve it in future as time permits.

Translation will only affect content of main domain, other subdomains as this blog or phpMyAdmin demo will remain in English.

Ready for new release?

I'm going to fix last remaining bug marked for fixing this evening and release Wammu 0.16 after it. So if you have any problem with Wammu and want to have it fixed in next release, it's best time to report it.

Wammu site split

I decided to split Wammu site to several pages. The one page seemed too large so this was logical step which I wanted to do for a long time. I hope there are no broken links or any other broken stuff.

Site troubles

I was few days offline and it looks like it was ideal situation to apply Murphys law and break thinks on my website. Bug tracker was not able to log you in or if you managed this step, you could not post anything. This issue seems to be caused by some bug in lighttpd which I'm not able to reproduce on my devel machine (most probably because of it is 32-bit and server is 64-bit).

phpMyAdmin demo server didn't work at all because somebody hardly break mysql database and my restore scripts didn't properly handle this situation.

Right now everything should be back working, please report if there are any other issues remaining.

I hate Connex

Connex (yes, their website is broken) is one of companies handling public transport in Prague. They hadle only lines on outskirt of city, centre is handled by Prague Public Transit Co. Inc..

The largest difference between both is:

  1. Connex has half of busses very old and sometimes it looks like they will never reach destination.
  2. Connex never goes on time. Yesterday busses here went exactly between times specified in time table, today I missed the bus because it went several minutes sooner than it should.

Why the hell do such company still have license for public transport?