Hlavní navigace

Softwarová sklizeň (28. 6. 2000)

28. 6. 2000
Doba čtení: 10 minut

Sdílet

Pravidelná sonda do světa (převážně) Open Source softwaru, dnes opět v rekordní délce. Ani jsem se nemusel příliš snažit a překonal jsem hranici 15000 znaků. Zřejmě dobrá konstalace hvězd. A nebo že by se projevovaly blížící se prázdniny? Že by teď programátoři měli více času na své projekty?

Úterý 27. 6.
Například pro webdesignery, kteří jsou připojeni přes dial-up (což je u nás stále poměrně velké procento), je určen program ftpq. Umožňuje totiž provádět uploady souborů do fronty a dokončit je teprve až když dojde ke spojení. Tak je možné průběžně pracovat a šetřit čas i peníze a nahrávat data na server ve větších dávkách.
Pár programů, které komponovaly náhodnou hudbu, jsem už viděl. Zdaleka nejlepší, alespoň co do výsledků, byl produkt Micro$oftu, jehož jméno jsem už zapomněl (pozor, předchozí věta opravdu není míněna ironicky :) Ale i přesto, že melodie, které produkoval, se daly poslouchat, bylo možné v nich pozorovat jistou nepřirozenou pravidelnost, opakující se motivy a podobně (ostatně, divil bych se spíš kdyby tomu tak nebylo, protože to není vůbec triviální úkol). Dodnes, když někde zahlédnu podobný program, zkouším ho, abych se podíval, jestli vývoj nepokročil. Dnes jsem narazil na utilitu Randomposer a musím říct, že tohle asi milník automatizovaného komponování nebude. Nejde ani tak o hudbu, jako spíše o kakofonii, kterou tvoří asi opravu zcela náhodný shluk tónů. Přesto jsem si řekl, že o tomto programu napíšu. Možná bude jeho výstup znít libozvučně příznivcům některého moderního hudebního směru :)
Konfiguraci hardwaru si řeší každá distribuce více méně po svém. Konfigurační nástroj HardDrake má původ v distribuci Mandrake, ale není s ní nijak svázán, takže si třeba najde cestu i ke konkurenci. Jde o kompletně klikací rozhraní k souboru /etc/modules.conf respektive /etc/conf.modules (pokud nevíte, k čemu tyto soubory slouží, pak je HardDrake nástroj pro vás :) Výhodou je, že část práce sejme z beder uživatele autodetekční modul. Co nenajde, budete už ale muset nastavit ručně (převážně výběrem z rozbalovacích menu).
Možná, že vlastníte scanner a tiskárnu a trošku závidíte „wokýnkářům“ funkci, která z těchto dvou periferií vytvoří kopírku. Možná už ale nemusíte, protože podobně poslouží program Ginko. Ten pracuje s ovladači z projektu SANE.

Pondělí 26. 5.
Čtenář Sklizně musí mít občas pocit, že Open Source projekty jsou převážně slibné, nápadité, zajímavé, geniální a nedokončené. Vězte, že ten poslední přívlastek používám tak často proto, že se snažím poukazovat také na novinky s nadějí, že třeba někdo s čtenářů shledá projekt natolik užitečným, že se do něj zapojí, ať už jako programátor či lokalizátor (nebo třeba grafik, hudebník, psycholog, designer, masér, svačinář, na tom už celkem nesejde :) Dalším programem, který v podstatě není zatím použitelný je hra Free Reign. Zmiňuji se o ní proto, že zatím, pokud vím, neexistuje žádný Open Source zástupce tohoto žánru. Jde totiž o nemilitantní strategickou hru nebo, chcete-li, simulátor města inspirovaný dnes již klasickým SimCity od Maxisu. Jak jsem naznačil, zatím není co hrát, ale věřím, že v krátké době tomu bude jinak. Konec konců, hry tohoto typu mají velké množství příznivců, neboť jejich nespornou výhodou je fakt, že je lze hrát stále dokola, aniž by omrzely.
Objevují se další a další otevřené systémy pro elektronickou komerci. Dalším instantním elektronickým obchodem je RediCommerce od stejnojmenné společnosti. Systém je napsaný v Perlu a kromě „nákupního košíku“ implementuje i rozhraní pro údržbu obsahu (Store Manager). Za normálních okolností je třeba objednávky realizovat ručně, ale systém lze propojit i s produktem pro on-line práci s kreditními kartami. To už celkem pochopitelně zdarma není.
Jako diplomová práce jednoho programátora vznikl projekt FIASCO, neboli Fractal Image And Sequence COdec. Jde o implementaci fraktálové komprese obrázků a videa. Fraktálová komprese se vyznačuje vysokým kompresním poměrem a rychlou dekompresí. Naopak proces komprimace je často velmi zdlouhavý. FIASCO dosahuje lepších výsledků, než komprese použitá ve formátu JPEG a je srovnatelné s waveletovou kompresní metodou. Sám jsem krátce program zkoušel a musím říct, že kompresní poměr je opravdu velmi dobrý, ale je poměrně těžké nastavit kompresi tak, aby byla efektivní a zároveň nedošlo k přílišné degradaci kvality.
Ophelia je Open Source implementace WAP protokolů včetně WTLS vrstvy (vyjma patentované algoritmy). Systém je určen pro Linux, BSD a Windows.

Neděle 25. 6.
Právě jsem zjistil, že jsem doposud ve Sklizni nepsal o výborném programu TiMiditi+, což je třeba napravit. Přehrávat MIDI v Linuxu není tak snadná záležitost jak by se mohlo zdát. Napsat ovladače není jednoduché a navíc se v poslední době rozmáhají stále častěji zvukové karty, které nemají vzorky ve své paměti, ale načítají je z disku, což je další komplikace. Proto se s mnoha zvukovkami stane, že pod Linuxem (případně dalšími un*xy) fungují uspokojivě, ovšem právě s výjimkou MIDI, případně je podporována pouze FM syntéza (jejíž éra bohužel způsobila, že MIDI je považováno neprávem za něco podřadného). TiMiditi+ tento problém řeší tak, že pracuje se vzorky kompatibilní s těmi, které používala karta Gravis Ultrasound. Výsledkem je vlastně konverze MIDI na wave, kterou lze na slušnějším počítači provádět v reálném čase (já jsem používal bez problému TiMiditi+ na K6 200, což už dnes není žádný zázrak). Kvalita přehrávání je pro běžné použití naprosto dostačující, ale na profesionální použití to samozřejmě není. Drobnou nevýhodou oproti nativní podpoře MIDI (kromě vyšších nároků na železo) je, že na dnešních kartách lze souběžně přehrávat MIDI i wave, zatímco v tomto případě bude asi třeba použít softwarové řešení, jako je třeba esound (ale i toto některé karty umí přímo).
Pro důkladnější analýzu logů nemusí být textový soubor vždy vhodný. Lépe by se s daty pracovalo například pokud by byla v SQL databázi, ale na druhou stranu logovat přímo do databáze je obvykle zbytečně náročné, režie je přeci jenom výrazně vyšší. Takže jednou z cest je následný přenos dat z textových logů do databáze. A to právě dělá program paket2sql s logy, které vznikají na ipchains firewallu.
SyncMail je modul pro program PilotManager, který umožňuje synchronizovat postu mezi PC a Palm Pilotem. Synchronizace je obousměrná – přes SMTP je odeslána pošta v outboxu a do inboxu se nahrají zprávy buď z lokálního mailboxu nebo z IMAP serveru. Částečně si program poradí i s MIME přílohami (textové zahrne do zprávy, ostatní odstraní).
S přehrávači MPEG videa to byla v Open Source světě docela bída. Sem tam se něco našlo, ale funkčnost nic moc. Situace se začala trochu měnit, když se společnost Loki (známá hlavně portací her na Linux) pustila do vývoje knihovny SMPEG. A právě nad touto knihovnou začalo vznikat mnoho přehrávačů. Jedním z nich je i MpegOrion, který používá pro uživatelské rozhraní knihovnu QT. Jeho zvláštností oproti ostatním je fakt, že si vývojáři knihovnu SMPEG mírně upravují k obrazu svému. S tím zřejmě souvisí podpora Video CD a „seekování“ (posouvání), která doposud v jiných přehrávačích chyběla.
Na CVS žurnálového souborového systému XFS se objevila verze plně funkční s jádrem 2.4.0-test1.

Sobota 24. 6.
Knihovna xmlpp je dalším pokusem o vytvoření XML parseru a validátoru, tentokrát na bázi C++ (což je tak trochu ukryto i v jejím názvu – ono „pp“ značí „plus plus“). Projekt je velmi mladý a jak sám autor podotýká, měl by zatím ukázat světu hlavně jeho ideje. Pro ostré použití se zatím nehodí. Osobně se domnívám, že XML parserů existuje již poměrně dost a záslužnější by bylo tvořit rozšíření o další funkce a formáty (XPath, XPointer, XSLT, XML-Schema, …).
MiniGUI je malý systém pro psaní okenních aplikací na bázi SVGAlib a linuxových threadů, který se snaží být kompatibilní (z hlediska operací s okny) s Win32 API a zároveň i s X11. Přitom si zachovává poměrně malou hardwarovou náročnost, takže je vhodný například pro kapesní počítače nebo embedded systémy. Jde rozhodně o zajímavý projekt, který by mohl najít svoje uplatnění.
Vyšla nová verze GIMPa s číslem 1.1.24.
Pokud patříte k příznivcům Quaka 3, možná se vám bude líbit program Java MD3 Model Viewer. Jeho název prozrazuje prakticky vše: jde o prohlížeč 3D modelů z této hry ve formátu MD3 a je napsaný v Javě. Co už název neprozrazuje je, že o rendering se stará OpenGL a že kromě modelu lze prohlížet i textury. S modely lze libovolně pohybovat, natáčet je, přibližovat a oddalovat, je možné pracovat s jejich texturami a plně podporována je i animace. Modely lze exportovat do WRML (včetně mapování textur) či RAW formátu.

Pátek 23. 6.
Hlídat všechny nečekané stavy a chybové kódy je při programování v C pěkná otrava. I tak primitivní příklad, jako je program, který pouze přečte obsah jednoho souboru a zapíše jej do souboru druhého, se prodlouží prakticky na dvojnásobek, pokud přidáte všude kontrolu chybových stavů. Proto vznikly vyjímky neboli exceptions. Těmi však bohužel (nebo bohudík, řekne možná někdo) jazyk C, narozdíl od C++ či Javy a dalších, nedisponuje. Tedy alespoň ne nativně, ale lze do něj podporu výjimek dodat. Například pomocí projektu CEXCEPT. No, možná je slovo projekt trošku silný výraz, neboť jde o jediný hlavičkový soubor, který implementuje makra try/catch/throw.
Většina systému pro paralelizaci převodu audia do MP3 formátu vychází z předpokladu, že se většinou zpracovává více souborů, takže každý počítač (nebo procesor) může komprimovat jeden wav. To v praxi znamená, že pokud převádíte jeden dlouhý audio soubor (což může nastat například u vážné hudby, kde jsou obvyklé poněkud delší časy skladeb, než v pop-music), k žádném urychlení nedojde. Naprosto jinak na to jde autor projektu Parallel BladeEnc. Název napovídá, že základem je encoder BladeEnc. Oproti originálu však dokáže svou práci rozdělit mezi více procesorů i počítačů pomocí rozhraní MPI (Message Passing Interface), což je standard používaný při vývoji distribuovaných výpočetních systémů.

Čtvrtek 22. 6.
Pod názvem Finder Applet se ukrývá GNOME applet, který nabízí (nebo by měl v budoucnu nabízet) podobnou funkčnost, jako finder menu z MacOSu. Tolik oficiální popis. Jak moc se Finder Applet podobá svému vzoru bohužel neposoudím, protože svět nakousnutého jablíčka je pro mě zatím neprozkoumanou oblastí.
Program HP Hack umí změnit text na displeji některých tiskáren Hewlet-Packard vybavených síťovou kartou. Sice teď nevím, k čemu přesně by se to dalo využít, ale vy už možná na něco přijdete :)
Nová verze vynikajícího modelovacího, animačního a visualizačního programu Blender přinesla slibovanou změnu licence. Od teď jsou ve volně šiřitelné verzi dostupné všechny rozšířené funkce, na které si bylo doposud nutné připlatit. Spekuluje se dokonce o uvolnění zdrojových kódů a všichni se třesou na verzi 2.0, která bude představena na letošním Siggraphu.
Nedávno se objevila nová verze Midnight Commanderu s oznámením, že jde o poslední udržovanou verzi a že vývojáři pracují na novém souborovém správci pro GNOME. Legendy ale nemají umírat, a tak se vzápětí objevil Advanced Midnight Commander. Těžko říct, zda se bude tato odnož dále vyvíjet, ale rozhodně stávající verze odstraňuje množství chybiček, vylepšuje zvýraznění syntaxe v editoru či virtuální souborové systémy ZIP a FTP. Jenom je mi divné, že AMC vychází z MC verze 4.1.35, která je poněkud staršího data. Jinak ale doporučuji podívat se na stránku projektu, naleznete zde i další vylepšené prográmky, jako třeba FTP s historií a rekurzivním stahováním nebo talk se scrollováním okna.

root_podpora

Středa 21. 6.
V ukrajinském projektu Motor se rýsuje docela zajímavé vývojové prostředí pro konzoli. Mezi zajímavější funkce patří docela pěkná správa projektů, možnost kompilace a ladění přímo z prostředí a podpora CVS a balíčkování. Naopak slabinou je podle mě editor, který sice podporuje zvýraznění syntaxe či autoindent, ale je málo konfigurovatelný a na některých terminálech zlobí „šedé“ klávesy.
Ze Slovenska pochází další zajímavá utilitka jménem MpCb. Ta čtyři písmena jsou zkratkou pro Multiplatform Clipboard, což je jakási sdílená schránka, umožňující provádět oblíbené funkce copy/cut/paste po síti – na jednom počítači si něco hodíte do schránky třeba v prohlížeči a na druhém to vložíte do Emacsu. A jak je z názvu patrné, podporováno je více platforem, konkrétně linuxová konzole, X11 na libovolném un*xu (Motif, Gtk+, KDE, CDE, OpenLook a GNOME) a Win32. Tohle jsem přesně potřeboval před několika lety, když jsem měl na pracovním stole dva počítače a pořád jsem se při přechodu z jednoho na druhý divil, kam se mi ztratil obsah schránky :)
Pokud vám Linux připadá už příliš mainstreamový, můžete zkusit AtheOS, Open Source operační systém cílený spíše na desktop. Jádro systému (s podporou SMP, multithreading i síťování) vzniklo na zelené louce, stejně tak i grafické uživatelské rozhraní (což bohužel stěžuje přenos existujících aplikací pro X11, ale zase je jeho architektura kompaktnější a nabízí srozumitelnější model pro tvorbu i komunikaci aplikací). Naopak z jiných systému si AtheOS vypůjčil GNU libc či gcc a běhají na něm bez modifikací (nebo jen s minimálními úpravami) i další GNU programy (binutils, findutils, diffutils, fileutils, flex, make, tar, sed, gzip, awk, …). Z větších aplikací jsou to třeba Bind, Perl, Qmail, Doxygen (s tím souvisí i neúplný port QT), SSH, lynx, teTeX či PHP3. Větší úpravy si vyžádal například Emacs, ale také už funguje. AtheOS ctí POSIX, takže přenos dalších (negrafických) aplikací by měl být poměrně jednoduchý. Poněkud slabší je to ovšem s podporou hardwaru, což se asi dalo čekat.

A to je pro dnešek vše…

Byl pro vás článek přínosný?