Michal Čihař - Archive for 3/2006

Můj free software 4. - alcatool/alcasync

Jestli mě paměť neklame, tak zhruba ve stejné době jako Wessie jsem začal s reverse engeneeringem protokolu pro synchronizaci telefonů Alcatel. Šlo to až překvapivě snadno díky logovacím schopnostem originálního software pro Windows. Bohužel tuto skvělou vlastnost již z novějších ostranili, ani nevím proč. Možná to nějak souviselo s tím jak si odkazy na můj web posílali v interních newsech :-).

Projekt se ze začátku jmenoval alcatool, ale poté co jsem zjistil, že jeden alcatool již dříve existoval, přejmenoval jsem ho na alcasync . Tento program v podstatě nikdy nebyl určen pro uživatele, ale spíš pro vývoj a odladění protokolu. Ze začátku se sestával jen z knihovny, která umožňovala základní komunikaci a jednoduchého obslužného programu. Během vývoje přibyl i interpreter který umožňoval interaktivně zadávat příkazy a skriptování, který jsem použil pro vyhledávání funkcí hrubou silou :-). Bohužel přístup k SMS v telefonu se mi stejně nepodařilo zajistit.

Nakonec se z toho vyvinula i docela použitelná command line utilita, ale hlavně knihovna, kterou pak použila grafická aplikace KAlcatel , o které se dozvíte více příště.

Je deset minut na nastavení moc?

Nedávným zrušením výchozího konfiguračního souboru v phpMyAdminovi jsme zjevně píchli do vosího hnízda a uživatelé (asi 2) si začali stěžovat na to, jaký je to hrozný krok zpět. Teď byli nuceni provést takovou hroznou věc jako čtení dokumentace a strávit tím celých deset minut. Jinak to neuměli nastavit.

To jestli tím opravdu musel strávit deset minut netuším (asi čte hodně pomalu nebo od konce), ale i tak mi připadá, že to byl spíš další důvod k odstranění toho souboru :-).

Původní bug report si můžete přečíst tady .

Wammu 0.13

Wammu 0.13 has been just released. New features:

  • Possibility to export SMS to maildir, mailbox and IMAP account.
  • More user friendly debug logging.
  • Many new translations, thanks to Rosetta.
  • Improved bluetooth lookup - now uses either PyBluez or btctl (part of GNOME Bluetooth).

Můj free software 3. - Wessie

Tento zápis by se také mohl jmenovat „i slepé cesty je třeba prozkoumat“. Wessie měl být modulární publikační systém napsaný v PHP. Víceméně se to podařilo splnit (a zápočet jsem za to dostal :-)). Akorát se už nikdy nepodařilo vytvořit verzi, která by byla opravdu uvolnitelná, hlavně kvůli nedodělané administraci.

To nicméně nijak neubírá systému na funkčnosti a jedna za dvou instalací stále ještě funguje (byť je již víceméně mrtvá co se obsahu týče).

Hlavní výhodou mělo být snadné přidávání pluginů pro různé typy stránek (vrcholnou ukázkou je generátor náhodných stránek :-)), další požadované vlastnosti byly: generování validního xhtml (včetně odkazů na validátor v administraci), podpora pro neomezené množství jazyků, použivání templatů, vytváření menu nezávisle na obsažených dokumentech a spousta dalších věcí, které mi tenkrát přišly užitečné.

Plány to byly pěkné, ale na dopsání jsem si nikdy nenašel čas a pochybuji, že se k tomuto projektu z přelomu let 2001 a 2002 ještě někdy vrátím. Přestože se Wessie nikdy nedočkala stádia zveřejnění, určitě má v tomto seriálu svoje místo. A pravděpodobně se i časem zveřejnění dočká – to až svoje CVS převedu na nějaký jiný SCM a toto repository zveřejním. Ale nikdy už asi nebude umět vše co původně umět měla.

Update: Projekt byl uveřejněn na stránce cihar.com/software/wessie a má veřejně přístupné Subversion repository.

SATA II?

Něco zkušeností ze stavby počítače a hardwarové kompatibility – proč proboha nemůžu SATA II řadič propojit se SATA II diskem pomocí SATA II kabelu?

Předpokládám. že výrobcům se nechtělo přecházet na jiné konektory, tak použili stávající. No co, tak si zbrusu nový SATA II kabel schovám, třeba se ještě někdy bude hodit…

Můj free software 2. - phpMyAdmin

První skutečný vstup do světa free software nastal až u phpMyAdmina .

V květnu roku 2001 jsem přispěl překladem do češtiny:

 Subject: Updated Czech translation of phpMyAdmin
From: Michal Cihar <cihar@email.cz>
To: swix@users.sourceforge.net
Date: Mon, 14 May 2001 11:23:36 +0200
X-Mailer: KMail [version 1.2]

Hi

I've updated (translated few added messages) Czech translation of phpMyAdmin. 
I send it to you in two encodings, because I thing that in distribution 
should be included version in ISO-8859-2 which is more standard than Windows 
1250.

Regards
	Michal Cihar
	cihar@email.cz
	cicom.tsx.org

Pak jsem přes rok vývojáře neustále otravoval s patchi, až jim po roce došla trpělivost a stal jsem se plnohodnotným vývojářem:

 Subject: Welcome to Michal Cihar
From: Marc Delisle <Delislma@collegesherbrooke.qc.ca>
To: nijel@users.sourceforge.net
CC: rabus <rabus@users.sourceforge.net>
Date: Tue, 13 Aug 2002 07:50:23 -0400
User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; fr-FR; rv:0.9.4) Gecko/20011128 Netscape6/6.2.1

Michal,

you are now an official developer of phpMyAdmin.

CVS access is an administrative process that sourceforge people do, and 
it could take some days to be active.

-- 
Marc Delisle

Od té doby jsem (podle cvschangelogbuilderu ) provedl téměř 15000 commitů, ve kterých byly i velmi zásadní změny v phpMyAdminovi. V současné době je můj podpis třeba pod importem a exportem, převodem kódování, manipulace s indexy a spousta dalších věcí, které si ani nevybavím. Některé rozhodně mají k dokonalosti daleko, ale nevím o ničem za co bych se měl stydět :-).

V současné době na projektu stále pracuji, ale již je to spíše nárazová práce, kdy v občasné volné chvíli opravím hromadu chyb (a ještě více vytvořím :-)). Bohužel ostatní vývojáři na tom taky nejsou nejlépe s časem (a motivací), takže vývoj moc dopředu nejde. Takže kdyby se někdo chtěl podílet, tak může opravit pár chyb z trackeru a poslat patche. Pokud budou přijatelné, může se dočkat i přístupu do cvs. A pokud neumíte programovat, vůbec to nevadí. Můžete třeba pomoci s překladem do nějakého jazyka který ovládáte (nějaký znalec hindštiny by tu nebyl?), protože některé překlady na tom jsou opravdu špatně. Nějaký grafik by se zase mohl vyřádit na tématech, protože za ta stávající jsme dost často kamenováni (no jo tak to dopadá když programátor dělá design).

Pokud si chcete počíst více o phpMyAdminovi, jsou tady pro vás stránky phpMyAdmin cz .

Jaký RCS

Tak už zase začínám řešit, jaký RCS používat. Jak se před pár dny ukázalo, nejsem jediný , kdo tu takový problém řeší. Tak třeba mi víc názorů pomůže :-).

Dosud používám Bazaar (na nové projekty), CVS (phpMyAdmin, práce a některé starší projekty) a příležitostně subversion (toho se v dohledné době asi dočká phpMyAdmin). Protože Bazaar je v dosavadní podobě mrtvý (a má pár nepříjemných chyb, které mi otravují život), potřebuju svoje projekty přesunout jinam. Při té příležitosti chci do stejného systému zmigrovat i CVS a zveřejnit tak některé věci, které se pravděpodobně oficiálního releasu nedočkají (viz další díl miniseriálu o mých programech).

Co rozhodně požaduji je distribuovaný RCS, bez toho už si život neumím představit (no dobře život ano, ale programování ne). Přechod z Bazaaru a CVS na něco jiného by neměl být zásadní problém díky tailorovi , který umí snad všechno o čem bych mohl uvažovat.

Tím se bohužel výběr příliš neomezuje a ve hře zůstává dostatek kandidátů a přichází nutnost dodat další omezení. Tady ale aby se z člověka stal detektiv a pečlivě pročítal dokumentaci, protože různá srovnání co jsem objevil jsou značně nekompletní a neaktuální. Protože na detektiva jsem moc líný, tak se zeptám tady :-). Chci aby RCS zvládalo následující body. znáte někdo takový?

  • Distribuovaný, atomické commity a podobné základní věci, které má dnes skoro všechno
  • Převoditelnost z Bazaaru a CVS
  • Podepisování changesetů pomocí GPG
  • Rozumná podpora pro přejmenování souboru
  • Bez nutnosti mít server, možnost publikovat přes HTTP
  • Musí se vyrovnat s unicode
  • Webové prohlížítko
  • Podpora pro Windows

Zatím tak nějak vyhrává Bazaar-NG, i když moc objektivních důvodů pro to nemám, prostě se mi líbí :-).

Objev vlastního díla

Není nad to, když člověk objeví nějaký vlastní výtvor, na který už naprosto zapomněl. Při hledání nějakého použitelného screenshotu pro CodeConv jsem narazil na lokální kopii starého webu. Z něj jakási ikonka odkazovala na PackTest (pozor je tam asi tuna reklam).

Kdyby se mě někdo zeptal jestli jsem něco takového vytvořil, tak to ještě před hodinou budu schopný popřít, ale moje jméno na té stránce a fakt, že se mi podařilo vzpomenout na heslo, dokazují opak. To by mě zajímalo, na co jsem ještě takto zapomněl :-).

Teď bych měl ještě vymyslet jak to přes úžasné rozhraní tohoto freehostingu stáhnout, protože ta tuna reklam vypadá opravdu nechutně.

Update: Tak nakonec wget a sed udělali černou práci a přesunul jsem to k sobě na server .

Můj free software 1. - CodeConv

První větší a stále ještě používaný volně dostupný program byl CodeConv. Jeho stránky jsou již dostupné jen v archívu , ale zdrojáky a binárky jsou dostupné z mých stránek . A předem upozorňuji, že se jedná o program pro Windows :-).

CodeConv vznikl kvůli potřebě převést několik velkých souborů s čímž si v té době dostupné programy nějak nebyly schopné poradit. Původní byla verze pro DOS, která se nakonec ani nedočkala publikace a vyšla rovnou verze 2.0 pro Windows. Ta vyšla 7.9.2000. Po ní následovalo několik oprav a vylepšení, která skončila u verze 2.7 vydané 25.4.2001. Poté došlo na můj kompletní přechod na Linux a vývoj z pochopitelných důvodů skončil.

Tento program byl původně šířen jen v podobě binární podobě, takže by do tohoto seriálu nepatřil, ovšem 14.5.2002 jsem se rozhodl zveřejnit neudržované zdrojové kódy k volnému použití (alespoň doufám, že mnou vytvořená licence to umožňuje :-)). Nevím však o žádném dobrovolníkovi, který by ve vývoji pokračoval (a třeba přidal utf-8, který dnes v programu citelně chybí).