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

Hledá se překladatel

Až do nedávna jsem překlad phpMyAdmina obstarával vlastními silami. Bohužel už v poslední době nějak nestíhám a není jiná možnost než se pokusit sehnat někoho, kdo by tyto překlady obstaral. První pokus tedy činím zde, třeba se tu nachází nějaký dobrovolník co by rád pomohl známému projektu. Kromě znalosti angličtiny nejsou potřeba žádné další znalosti.

Stačí vzít soubor s překlady , přeložit nepřeložené texty (a odstranit text //to translate ) a pak už jen soubor poslat buď to trackeru s překlady nebo přímo mě. Více informací je třeba ve FAQ .

Pro začátek na překladatele čeká koňská dávka 350 textů pro nastavovací modul a 20 pro úložiště PBXT, takže jestli nemáte o dlouhých podzimních večerech co dělat, hurá do toho :-).

Nakupujeme internetově

V Praze bude od příštího roku možné koupit roční jízdenku jen v elektronické podobě na OpenCard a dopravní podnik u té příležitosti vytvořil internetový obchod, kde je možné jízdenky nakoupit. Jakožto správný lenoch jsem nákup odkládal na poslední možný termín, kdy ještě mám nárok na 10% slevu - tedy na dnes.

Registrace

Registrace sice není poviná, ale prototože si ještě budu muset koupit dvě měsíční jízdenky, usoudil jsem, že to bude menší zlo než několikanásobné zadávání šestnáctimístného čísla. Vypním údaje (na co potřebují telefon? tak tam dávám 800123456), zhrozím se toho, že se nedá použít SSL a čekám na mail. Když už mi čekání přijde moc dlouhé, koukám se do spamu a vida, mail je tak zprasený, že ho můj spam filter prohlásil za spam. No co, prohrabal jsem si odpadky a účet je aktivní.

Nakupování

Logika obchodu je přesně opačná než všude jinde - proč nebýt originální? Tak začneme tím, že vybereme způsob placení. Pak už následuje jen lehce nepřehledný výběr co vlastně chci koupit. Dále se musím rozhodnout jestli chci kupón doručit elektronicky nebo elektronicky. Vybírám tedy elektronicky. Při druhém opisování captchy (první byla při registraci) jsem opět o něco víc naštvaný na tvůrce této aplikace, ale můžu přejít k placení. Následuje typický zbytečný krok mnoha obchodů - výběr platební karty. Proč tam tento krok musí být, když poznat typ karty z jejího čísla je triviální? Pak už mě naštěstí přesměrují na platební portál České Spořitelny, takže zadávání karty je celkem bezpečné. Akorát při přesměrování zpět Firefox (oprávněně) řve, že se přesměrovává na nezabezpečený server.

Překvapení na závěr

Po úspěšném zaplacení se dozvím, že kupón si na kartu můžu nahrát až zítra. Ne že by mi to tentokrát vadilo, ale proč systém nefunguje online nechápu.

Double check what you do

I just wanted to fix some RC bugs till I'll go home, so I looked at the list of open ones and randomly chosen two bugs about roxen fonts which looked like low hanging fruits. Both were in fact same issue, just copied to two packages.

I worked on the fix, creating some intermediate version and then I finally wanted to upload the package. Unfortunately in this step I somehow managed to use the intermediate version, which did not really fix the issue. As packages were already uploaded, there was not much I could do except yet another NMU, now with full set of changes.

Just as accepted emails arrived I also noticed that I messed up bug numbers in changelog - I used same bug number in both changelogs. Okay, manually closing the bug worked around this.

But now I'm afraid what else did I mess up. Probably it's time to go for a dinner and stop working on computer for now :-).

Gammu test version 1.21.90

I just published new Gammu testing version. Major changes are in handling some special Nokia responses, handling of Siemens phonebook entries and introduction of automatic testing using CDash on http://cdash.cihar.com/index.php?project=Gammu. Full list of changes:

  • Sign Windows binaries during build.
  • Detect long FM station names (bug #727).
  • Add ID for Nokia 2630b.
  • Handle properly very long lines in vcards (bug #728).
  • Do not build and install locales if gettext is not compiled.
  • Increase number of calendar entries (bug #725).
  • Leak free test runs.
  • Support backup of phone phonebook from Siemens (bug #732).
  • Properly handle GetNextMemory on Siemens (bug #732).
  • Save textual category to backup (bug #737).
  • Enable dashboard testing using CTest/CDash.
  • Add option to do coverage analysis.
  • Properly handle debug file closing.
  • Add test case for debug logging.
  • Fix decoding of some SMS messages from Nokia phones (bug #735).
  • Hack for (still) unknown error code (bug #733).

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

Gammu news

I finally catched up with Gammu backlog from holidays and now it is time to move it a bit further.

Automatic testing

During this week I set up CDash instance for acquiring results of automatic nightly checks of Gammu. Each night Gammu is build on several hosts (currently Debian x86_64, Debian x86, SUSE x86_64 and crosscompilation for Windows on Debian) and results are posted to the dashboard. If you have some other architecture which could participate in testing, you are welcome to contribute! It is simple - just checkout svn, create build directory and configure there Gammu using cmake. You can enable coverage tests (-DCOVERAGE=ON). Then just run every night make Nightly for regular testing or make NightlyMemoryCheck to do dynamic allocation analysis. There is more detailed documentation in sources (INSTALL file).

Thanks to this, I can hopefully sooner spot regressions and possible problems on different architectures.

Roadmap

With upgrade of Mantis, new feature called roadmaps arrived. I started to use it for planning features in future Gammu releases, so you can see what bugs should be fixed in future releases in Gammu roadmap. Currently there are not much things planned, because till now I had to focus only on bug fixing, but I think with 1.21.0 we have reached much better quality than in past releases and now is time to do some important changes in the core.

Nokia phone required

As you can already see in roadmap, I plan some bigger changes to Gammu core. I currently have on Sony-Ericsson phone and I would not be able to properly test how these changes will affect Nokia drivers. So for start I will need at least Nokia Series 40 3rd edition phone. Nokia 6233 (or 6234) currently looks as a reasonable choice, but if you have any hints for cheaper one with similar features, just drop me an email.

Perfect would be if somebody would have half broken phone (I do not intend to use it for anything else than Gammu development, so broken camera, speaker, microphone or display does not really matter) and will be willing to donate it to me. If this will not work out, I'll have to buy used one and I will try to collect funds for this. If you want to contribute, check my donations page for possibilities.

Wammu 0.29

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

  • Fixed handling of call entries with multiple dates.
  • Handle phones where writing entry to SIM card takes long (bug #682).
  • Properly skip corrupted entries (bug #467).
  • Added export of messages to XML (thanks to Florent Kaisser).
  • Properly report failures when importing backup (bug #303).
  • Add --info command line option to show connection info (bug #426).
  • Add --debug switch to enable debug output to stderr (bug #426).
  • Sign Windows binaries.

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

Opps, I did it again

It looks like I again did same mistake with Gammu and python-gammu binaries - they started to crash randomly. It was again caused by fact, that they were linked to two C runtime libraries (msvcrt.dll and msvcr70.dll). I should make some automated check for this to avoid uploading so broken things, but I don't know any command line tool which can list DLLs which are required by exe and which works on Linux (Wine is okay too). Anyway the binaries has been just recompiled and uploaded, so if Gammu or python-gammu crashes for you, please download new version.

PS: Thanks to Olaf Leidinger, now I know how to check it automatically:

/usr/i586-mingw32msvc/bin/objdump -x filename.exe | grep "DLL Name"

python-gammu 0.27

New version of python-gammu has been just released. It fixes possible crashes and brings compatibility with Gammu 1.21.0. Full list of changes:

  • Compatibility with current gammu.
  • Use new GSM_MemoryTypeToString.
  • Fix several off by one errors.

Download from usual place: http://cihar.com/gammu/python/

Gammu stable version 1.21.0

Good news everyone, after long time of inactivity and huge development over past month, new stable Gammu release is out. Since 1.20.94, there are only minor fixes in handling some corner cases in AT parser, but full list of changes since last stable 1.20.0 is quite long:

  • Handle properly empty SMSC (bug #722).
  • Disable AT/OBEX for Motorola K1v (bug #721).
  • Automatically switch to nodtr connection if DTR/RTS setting fails.
  • More verbose debug messages in API.
  • Free phone data after testing model to avoid memory leaks.
  • Properly handle if IMEI is too long (bug #709).
  • Try to handle situation when CMGL does not list all messages.
  • Fix typo in MySQL file (bug #716).
  • Better parsing of USSD replies (bug #718).
  • Properly restore caller groups on Nokia 2630 (bug #706).
  • Fix listing of used calendar locations on Nokia (bug #710).
  • Properly encode class and coding to SMS (bug #714).
  • SMSD for MySQL no longer fails when sending message (bug #715).
  • SMSD stores signal and battery state in PostgreSQL.
  • Properly handle multiline firmware information.
  • Fix crash when decoding EMS pictures (bug #549).
  • Motorola phones sometimes reply in UCS2 instead of HEX (bug #712).
  • Use native functions sleep/usleep if available.
  • Improve FBUS initialization sequence.
  • Fixed reading for ringtones from Nokia 5510 (bug #529).
  • Do not crash if ringtone name is too long (bug #529).
  • Fix possible crash while reading of messages using AT.
  • Increase timeout when writing SMS message (bug #596).
  • Cleaned up issues with reading from Bluez (bug #670).
  • Fixed Windows binary (define properly MSVCRT to use) (bug #683).
  • Fixed compilation with CURL on Windows.
  • Windows binary now has only MySQL and CURL support (bug #683).
  • Fill in timezone information (bug #696).
  • Detect reserver message type (bug #691).
  • Increase timeout for switching to OBEX (bug #690).
  • Disable postal address for Nokia 2600 (bug #659).
  • Encode phone number only with phones which need it (bug #654).
  • Increase timeout for writing memory entry (bug #654).
  • Handle properly when phoned does not tell SMSC (bug #616).
  • Initial support for waiting calls in AT engine (bug #551).
  • Fixed dialing on some AT phones (bug #471).
  • Support for skipping location when reading (bug #467).
  • Improved detection of serial port Bluetooth channel.
  • SMSD reconnects to MySQL (thanks to Wouter D'Haeseleer).
  • SMSD stores signal and battery state in MySQL (thanks to Wouter D'Haeseleer).
  • Initial support for reading messages in simple text mode.
  • Report if monitor failed because of an error.
  • Handle not found errors on OBEX connect (bug #705).
  • Report more verbosely that some feature has been disabled on compile time.
  • Add ID for Nokia 5200 (thanks to Andreas Metzler).
  • Add two IDs for Nokia 2600 (bug #659).
  • Add ID for lot's of Sony Ericsson phones.
  • Use AT parser for AT+CPBS? reply.
  • Use all possible ways to get memory status (bug #687).
  • Detect more error codes from Nokia phones (bug #659).
  • Fix decoding of text using iconv (bug #687).
  • Fix linker flags check, caused failures on MacOS X.
  • Add second ID for Nokia 2610 (thanks to Nicolas Forget).
  • Add ID for Nokia 6060.
  • Try to use OPP and PBAP Bluetooth profiles also (not tested!).
  • DumpMessage is not printing last char (bug #692).
  • Support for favorite messaging number (bug #693).
  • Add ID for Nokia 2630 (bug #693).
  • First attempt for Bluetooth support on OS X.
  • Do not open debug file for second time when using global debug.
  • Fix DC memory name printing (bug #698).
  • Add API function GSM_MemoryTypeToString.
  • Report correct size of DC/RC/MC memory on DCT4 phones (bug #699).
  • Store favorite messaging as phone number, not only as ID (bug #693).
  • Avoid empty line at beginning of vCard backup (bug #701).
  • Add ID for Nokia 2760.
  • Catch not acceptable errors in OBEX (bug #702).
  • Operation not allowed is not an unknown problem (bug #678).
  • Add ID for Nokia 5000 (bug #677).
  • Increase limit of files for DCT4 and check array size (bug #676).
  • Allow to enter PIN code from stdin (bug #633).
  • Handle HEX reply instead of UCS-2 from Motorola (bug #697).
  • Avoid decoding of @ in email address (bug #697).
  • 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/, Binary packages will be available soon.

Why to make sensible error messages?

Yesterday I faced problem with VMware server that it can not run 64-bit guest system. I'm using 64-bit SUSE and 64-bit VMware, so it should work, right? I can select 64-bit system in VMware, but the guest is simply 32-bit without any error.

In documentation, man can find only "VMware Server supports 64-bit guest operating systems only on host machines with supported processors.". How helpful! After a bit of googling, it turns out that VT needs to be enabled and usually it is not enabled in BIOS (any reason for this?).

So let's reboot, go to BIOS, enable VT and it should work. Unfortunately not, after reboot, still same problem. I was almost given up at this point, but I decided to recheck BIOS, whether I really enabled the right thing. Yes I did, but I did not notice small note, that to apply this setting, I need to power off and on the computer. That was the trick! Now it finally works. I just wonder why it has to be so complicated...