Michal Čihař - Archive for 4/2006

phpMyAdmin goes Open Document

After many years waiting, RFE #1068007 is done. phpMyAdmin can now export to Open Document Text and Open Document Spreadsheet. Implementation is quite simple, just generate content.xml and feed it into simle functions which puts together zip file containin everything needed.

If you don't use CVS version, you'll have to wait for 2.9.0 release.

New blog

After some time I spent blogging in Czech on abclinuxu.cz, I decided to create own blog. Both blogs will probably coexist as this will be English only.

phpMyAdmin a ods

Nebojte se, nejedná se o vyjádření podpory politické straně :-). Jenom jsem se konečně dokopal k tomu přečíst si něco o OASIS Open Document formátu a naimplementovat export (prozatím spreadsheet) do phpMyAdmina.

Z toho, že je to věc kterou se chystám napsat už asi rok a půl, je vidět, že se mi do toho nijak moc nechtělo. Nějak jsem byl vždy odrazen specifikací, tedy hlavně jejím rozsahem. Nakonec jsem se jejímu čtení vyhnul a použil jenom pár stučnějších návodů. Teď jenom doufám, že to co z phpMyAdmina vypadne. jí odpovídá. OpenOffice.org to zpracují správně, ale to se mi jako test moc nelíbí. Asi by to chtělo najít nějaký OpenDocumentlint :-).

Můj free software 8. - Wammu

Tak a je tu poslední díl pojednávající o programech s trochu kryptickými a podobnými jmény. Poslední na řadu přišlo Wammu , přestože je z nich asi pro většinu uživatelů nejpoužitelnější.

Přestože jsem velmi dlouho vybíral, v čem toto GUI psát, dnes této volby lituji. Ne že by wxPython byla vyloženě špatná věc, ale nekompatibilita různých verzí, které se vyskytují v různých distribucích je až neuvěřitelná. To je umocněno tím, že se nejedná o nijak moc využívaný framework, takže v mnoha distribucích je značně zastaralá verze (nebo alespoň naprosto nemožně zkompilovaná, zdravíme Fedoru). Z toho důvodu jsem musel mnohem víc energie věnovat na různé obezličky, abych zajistil kompatibilitu, místo vývoje nových funkcí, které bych určitě uvítal nejenom já.

Kromě nějaké základní práce s kontakty, kalendářem, úkoly a zprávami, umí program také zálohovat, a to hned do několika formátů souborů. Zprávy si můžete nahrát třeba na IMAP4 server, což se na zálohování celkem hodí, hlavně je k nim pak přístup odkudkoliv (pokud mobil umí IMAP4, tak i z něj :-)).

V současné době moc nových věci nepřibývá, projekt tak trochu vyčkává na to, až se dostatečně naštvu a přepíšu GUI do PyGTK. Nějaké návrhy už mám, ale jak dlouho to bude trvat nikdo netuší :-).

Průnik je problém image?

Jistě už jste zaregistrovali informace o průniku do slovenského NBÚ . Použitá hesla vypovídají cosi o neschopnosti administrátorů, nebo aspoň z mého pohledu ano. Nicméně bývalý (netuším proč, tolik dění na Slovensku nesleduji) šéf NBÚ trvdí, že je to spíš problém image než bezpečnosti . Takže asi celý NBÚ bude spíš otázka image a ne bezpečnosti ;-).

A přestaňte tu už s těma politickýma kydama, kdo v tom má hledat něco trochu zajímavého?

Keep translating Wammu!

After initial boom, interest in translating Wammu in Lanchpad seems to be decreased. There are three almost complete translations (German, Italian and Korean), but the rest is very behind. Take few minutes and help bringing Wammu into your language!

Proč nemám rád poštu?

Proč mě vždycky pošta dokáže naštvat? Na to jak jí nevyužívám mi to přijde až moc často. Jediné věci které mi jejím prostřednictvím chodí je výpis z účtu (ne že bych na to trval, ale pro zrušení bych asi musel na pobočku, takže to je odloženo až tam budu muset z jiného důvodu) a dva předplacené časopisy.

S předplatným se dnes pošta opět vyznamenala. To že mi chodí až s dvoutýdením spožděním už považuji za normální a až tak mi to nevadí. Ale to že mi časopis prostě pohodí před dveře bytu mi přijde už docela jako nehoráznost. Aspoň až mi příště něco vůbec nedorazí, budu vědět proč.

Můj free software 7. - python-gammu

Tento zápisek bude trochu stručnější. Nevím moc co o tomto lepidlu mezi Pythonem a Gammu napsat. Prostě jsem se rozhodl psát GUI v Pythonu, protože se mi tento jazyk líbí a píše se mi v něm dobře, tak vznikla nutnost vytvořit tuto mezivrstvu.

Při psaní šlo v podstatě jenom o implementační detaily, protože základ API byl jasný – něchtěl jsem se moc odlišit od libGammu. Jediné zásadní rozhodnutí (a dodnes nejsem přesvědčen jestli bylo správné nebo špatné) bylo ukládání všech dat do slovníků. Hlavně kvůli jednodušší implementaci, ale nakonec se to ukázalo být poměrně praktické i pro použití v programu.

Možná si kladete otázku proč jsem nepoužil swig nebo jiný generátor rozhraní. Asi to je jen mojí neschopností, ale opravdu jsem nepřišel na to, jak zabalit volání libGammu pomocí swigu tak, aby to bylo méně práce než to napsat ručně.

A na závěr jedna ukázka jak snadno se to dá použít :-).

 import gammu

sm = gammu.StateMachine()
sm.ReadConfig()
sm.Init()

message = {
    'Text': 'python-gammu testing message', 
    'SMSC': {'Location': 1}, 
    'Number': '123456789',
}

sm.SendSMS(message)

Můj free software 6. - Gammu

No už se pomalu dostáváme do současnosti :-). Po dopsání KAlcatelu do relativně použitelného stavu jsem si začal uvědomovat, že aplikace pracující pouze s jedním typem telefonu, která je nerozšiřitelná, nemá moc velkou budoucnost. Tak sem se koncem roku 2002 začal porozhlížet po něčem obecnějším.V té době (a IMHO to tak stále je) připadaly v úvahu asi jeno Gammu (tehdy ještě MyGnokii) a Gnokii. Pak ještě existuje GSMLib, tam ale není zaměřen na nic jiného než AT příkazy a rozšiřitelnost je problematická.

Po vyzkoušení obou projektů a zběžném prozkoumání zdrojáků jsem se rozhodl pro MyGnokii. Kromě toho, že se na rozdíl od Gnokii rovnou komunikovalo s mým telefonem, rozhodlo interní používání unicode. Dnes s odstupem času pořád nejsem schopný říci, který z projektů je vnitřně uspořádán lépe. Gnokii má určitě výhodu ve stabilnějším API, především s ohledem na implementaci různých funkcí a předávání parametrů. Gammu je zase o něco jednodušší na používání díky předávání jen těch parametrů, které budou zpracovány (u Gnokii se vždy předává struktura obsahující pointery na všechno možné) a díky internímu unicode nejsou problémy s nabodeníčky.

Po pár prvních patchích jsem Marcina přesvědčil, že MyGnokii není nejlepší název a navrhl Gammu, které se kupodivu ujalo :-). Pak už šel vývoj poměrně rychle a kromě drobných i větších úprav pro AT kompatibilní telefony přibyla koncem roku první verze podpory pro nativní protokol Alcatelů.

Od té doby už v podstatě jenom udržuji co jsem napsal a občas implementuji nějakou drobnost, která mě na mailing listu zaujme. Většina patchů jsou však opravy různých obskurních chyb, které se projeví při používání z Wammu.

Nvidia a suspend do paměti

Už jsem ani nevěřil, že bude rozhození framebufferu po suspendu do paměti někdy opraveno, ale zdá se, že poslední ovladače to opravují. Takže konečně můžu po obnovení pracovat i na konzoli.

A nějak nechápu proč s touto verzí mají lidi tolik problémů, kromě fungující konzole jsem si žádné změny nevšiml. Teď jenom doufám, že nechválím nvidii zbytečně a oprava není způsobena přechodem na kernel 2.6.16 :-). No co hlavně že to je opraveno.