Hlavní navigace

Softwarová sklizeň (12. 7. 2000)

12. 7. 2000
Doba čtení: 10 minut

Sdílet

Po čtrnáctidenní pauze je zde opět oblíbená sonda do světa (převážně) Open Source softwaru.

Úterý 11. 7.
Už i Slackware se dočkal utility, která automaticky updatuje nainstalované balíčky, objeví-li se v oficiálním stromu novější verze (Slackware není zrovna moje parketa, takže pokud něco podobného existovalo již dříve, předem se omlouvám :) Zmíněná utilita se zove slackUp. Kromě automatického upgradování systému (samozřejmě nechybí volba FTP serveru) lze slackUp používat rovněž pro instalaci jednotlivých balíčků, stačí znát jméno balíčku a verzi a o zbytek se postará program sám.
Jak jste možná pochopili (čtete-li Roota pravidelně), po prvotním okouzlení nám WAP přivodil spíše jisté rozčarování, ale na druhou stranu je třeba říct, že nic lepšího tu zatím asi není. Mimochodem, Japonci, kteří jsou mobilní komunikací doslova posedlí a leckdy udávají směr, prý WAP totálně ignorují a používají masivně vlastní systém, založený na podmnožině obyčejného HTML. Nicméně to jsem lehce odbočil, nechtěl jsem mluvit o Japoncích, ale o tom, že když už tu nemáme nic lepšího, než WAP, tak holt budeme zatím používat WAP, a to třeba ke čtení emailů. Umožňuje to GPL projekt s prozaickým názvem WAPMail. Nelze o něm zatím říci nic jiného, než že jde o WAPové rozhraní k libovolnému IMAP serveru, napsané v PHP. Nic převratného, ale jistě se najde dost uživatelů, kteří něco podobného potřebují (nebo si alespoň myslí, že to potřebují :) a rádi si ušetří práci s programováním.
Moof, neboli Mp3-player On One Floppy, je jednodisketová linuxová distribuce, určená k přehrávání MP3 souborů na počítačích s procesorem i486 133 MHz a vyšším. O vlastní přehrávání se stará (jak jinak, chce se mi říct) mpg123. Vzhledem k tomu, že zhruba 4 MiB (pokud to nevíte, tak takhle se teď značí megabajt, až na to, že teď se mu říká mebibajt) velký RAM-disk je pochopitelně pro MP3 nedostačující, najde možná Moof uplatnění třeba v auto-přehrávačích (umím si docela dobře představit, že by se startoval z nějaké flash paměti a pak pracoval s daty na CD-R/RW).

Pondělí 10. 7.
Wget Download Module for Webmin je rozšiřující modul pro konfigurační webové rozhraní Webmin (o tom jsem se zde již několikrát zmiňoval), který ovšem kupodivu neslouží ke konfigurování, alébrž umožňuje kontrolovat stahování dat pomocí programu wget. Praktické využití se jistě najde, autor sám uvádí příklad, kdy chcete něco stahovat třeba v zaměstnání přes noc a místo časování nebo čekání, až všichni odejdou domů prostě spustíte download z domova kdy se vám zamane.
Systém poskytování síťových služeb pomocí tzv. superserveru je celkem běžná záležitost, drtivá většina linuxových administrátorů jistě používá inetd, xinetd nebo nějakou další alternativu a ostatní un*xy na tom budou podobně. Výhody jsou zřejmé – servery pro aktuálně nepoužívané služby zbytečně nezabírají paměť, naopak nevýhody (tedy hlavně pomalejší start služby a větší zatížení systému při příchozím požadavku) jsou leckdy zanedbatelné. Zajímavý přístup, který zmíněný problém prakticky eliminuje, zvolili autoři projektu Spyrius. Jde o vícevláknový superserver, který nepředává požadavky k vyřízení externímu programu, ale používá dynamicky zaváděné moduly. To zvyšuje efektivitu, usnadňuje konfiguraci a navíc prý bude možné komunikovat s více moduly v rámci jednoho spojení (což si nějak neumím představit). Na druhou stranu to znamená, že se Spyriem nepoužijete libovolný program, budete zřejmě odkázání na existenci modulů. Velmi dobře vypadá dokumentace (doporučuji raději použít formát PS, k PDF se xpdf nějak neznal, s Acroreaderem to ale může být v pořádku).
Jádro 2.4 se blíží mílovými kroky a s ním přijde i nový firewall. Po ipfwadm a ipchains nadchází éra iptables. I když se obvykle použití klikacích rozhraní při nastavování tak důležité věci, jako je firewall, nedoporučuje, jistě si program Knetfilter svoje uživatele najde. Utilita je určena pro KDE a kromě grafického rozhraní k iptables nabízí i základní monitorovací funkce, k čemuž používá pro změnu zase tcpdump.

Neděle 9. 7.
GtkSpell není samostatný program, ale rozšíření grafického prvku GtkTest z knihovny Gtk+, které umožňuje snadno přidat do programů kontrolu pravopisu ve stylu M$ Wordu a jemu podobných programů, kdy jsou barevně odlišena chybná slova a z kontextového menu je lze přímo nahradit jedním z nabízených ekvivalentů. GtkSpell využívá pro vlastní kontrolu pravopisu ispell nebo jemu podobný program (např. aspell).
Vyhledávání na Internetu, to je kapitola sama pro sebe. Je těžké najít to, co hledáte, ve spoustě okolního balastu. Zajímavou možností, jak si hledání usnadnit je projekt Rover Search Server. Jde o rozhraní k množství různých vyhledávačů s několika užitečnými funkcemi. Tou první je fakt, že výsledky mají jednotný vzhled a dále mě zaujala možnost uchovávat výsledky hledání a jakousi historii, kterou lze sdílet s více uživateli. Zejména možnost archivace výsledků je pro mě velmi zajímavá, protože často něco hledám opakovaně a obvykle se mi už nepodaří zformulovat požadavek stejným způsobem, což často znamená, že podruhé nenajdu totéž, co při prvním pokusu.
Pod názvem YASE se ukrývá další systém pro fulltextové indexování a prohledávání dokumentů (znalci již možná poznali, že zmíněná zkratka znamená Yet Another Search Engine). Co mě na něm zaujalo je zejména dokumentace. YASE je navržen tak, aby byl co možná nejvíce rozšiřitelný a pružný a všechna s tím související rozhraní jsou solidně popsaná, stejně jako formáty souborů atd. Sám o sobě dokáže program indexovat textové a HTML dokumenty, ale umí využívat i externí filtry, což může být libovolný program schopný konvertovat požadovaný formát na čistý text nebo XML (například pro indexování M$ DOCu lze použít catdoc, pro PDF třeba pdftotext atd.). V neposlední řadě lze o YASE říci také to, že je snadno použitelný, k jeho provozu stačí mít jeden konfigurační soubor a znát dva povely.

Sobota 8. 7.
Kryptografie zvolna vplula do našich životů a bude stále více a více prostupovat lidskými činnostmi. A stejně jako jsou dnes korunovační klenoty zamčeny na několik zámků, určitě se objeví nutnost ochránit například dokumenty tak, aby byly čitelné pouze při ověření dvěma (nebo více) osobami. A třeba právě k tomu může posloužit program PAD, který dokáže rozdělit soubor na dvě části tak, že obě vypadají jako náhodný šum, přičemž k rekonstrukci původních dat jsou bezpodmínečně nutné obě poloviny. Řekněme, že s někým sdílíte citlivá data a chcete, aby byla k dispozici pouze při účasti obou protějšků. Není nic jednoduššího, než dokument zašifrovat klíčem, který pak rozdělíte pomocí PADu na dvě části. Dokud se neshodnete, dešifrování se nekoná :)
Program Floppycopy je určen všem uživatelům, kteří nekamarádí s utilitou dd a potřebují přesto tvořit duplikáty disket. Program může fungovat jak na konzoli (kde se o rozhraní stará utilita dialog), tak v X11 (kde tutéž službu vykoná program QMessageDlg od téhož autora, jako je Floppycopy sám).
Utilitku indent pro formátování céčkových zdrojových kódů znají asi skoro všichni programátoři, ale poněkud méně známá bude její obdoba jménem hindent, která plní stejnou funkci při formátování HTML dokumentů. Já osobně bych na svoje pracně (a ručně) formátované dokumenty žádný program, byť sebechytřejší, nepustil, ale na druhou stranu je pravda, že občas potřebuji něco vyhledat v HTML kódu, který byl třeba dynamicky vygenerován, a programátor poněkud zapomněl na odsazování, zalamování řádek atd. Pak se něco jako hindent může hodit.
Poslední dobou mám pocit, že nemine týden, aby se ve Sklizni neobjevil nějaký systém pro paralelizaci některých výpočetně náročných operací, ať už jde o encodování „empétrojek“ či raytracing 3D scén. Dnes je to projekt PM2V, který dokáže využít síly více procesorů, ať už v jednom počítači nebo v clusteru (díky MPI), ke kompresi video sekvence do formátu MPEG II. Podle autorů je použitý algoritmus vhodný zejména při relativně nízkém počtu procesorů (zhruba do osmi), reálné zvýšení výkonu je zhruba 400% při použití šesti procesorů oproti jednomu, což myslím není špatné. Pokud se rozhodnete komprimovat video na clusteru složeném z více stanic, nezapomeňte dostatečně dimenzovat propustnost sítě.

Pátek 7. 7.
Právě jsem si někde přečetl zajímavé povídání na téma, že aplikace by neměly být pro KDE nebo GNOME či Win32 GUI. Aplikace je to, co něco vykonává a je jedno, jakým způsobem se prezentuje. Specifické by mělo být jenom vnější rozhraní. Celou tuhle myšlenku staví ještě do poněkud zajímavější roviny standard UIML, neboli User Interface Markup Language, který specifikuje popisovací jazyk pro tvorbu uživatelských rozhraní na bázi XML. No uznejte, nebylo by skvělé, kdyby jedna aplikace běžela „nativně“ pod KDE, GNOME i na konzoli s ncurses, pokud by existoval patřičný „renderer“ UIML? Je jasné, že ne vždy je to možné a navíc je třeba, aby podobná transparentnost fungovala i na nižších úrovních (CORBA atd.), ale drtivá většina aplikací by takto fungovat klidně mohla. Zatím je to trošku hudba budoucnosti, ale snad ne tak moc vzdálené. Pokud byste si chtěli s UIML hrát již dnes, můžete zkusit kUimlRenderer, který tvoří rozhraní definovaná v UIML pomocí knihovny QT.
Podíváme-li se libovolný moderní skriptovací jazyk, zjistíme, že jejich výhoda spočívá (mimo jiné) v jisté uspořádanosti rozšiřujících knihoven či modulů. Hledáte-li něco, najdete to pravděpodobně na jednom konkrétním místě (jako je třeba CPAN v případě Perlu) nebo nikde. To programátoři preferující C nebo C++ (jako třeba já :) neznají, knihoven existuje dostatek, ale je to poněkud decentralizované, chaotické. Jednou z knihoven, které nabízejí soubor funkcí ve stylu vzdáleně podobném tomu, co je běžné ve světě skriptování běžné, je projekt Rudiments. Tato knihovna je určena pro C++ a naleznete v ní třídy potřebné pro psaní démonů, síťových serverů i klientů, práci s příkazovou řádkou, regulárními výrazy, semafory, sdílenou pamětí, signály atd. Jak vidno, Rudiments je spíše určen pro psaní systémovějších záležitostí.
Knihovna mpeglib si lehce navzdory svému jménu klade za cíl vytvořit soubor funkcí pro jednoduché přehrávání různých multimediálních formátů, ať už zvukových nebo obrazových. Momentálně umožňuje přehrávání formátů MP3, WAV a MPEG I, s externímu pluginy pak zvládne i MPEG II a OGG (copak to je? neznám :) a navíc podporuje ještě icecastové streamy a Video CD. No vida, můžete napsat svůj Media Player for X :)

Čtvrtek 6. 7.
Knihovna logi.crypto umožňuje implementovat do javových aplikací silné šifrování (RSA, ElGamal, DES, 3DES, Blowfish), hashování (MD5, SHA1), digitální podpisy (RSA, ElGamal), výměnu klíčů (Diffie-Hellman, RSA, ElGamal) a další funkce. Zaujalo mě, že naprostou většinu výše uvedených funkcí lze přímo aplikovat na vstupní/výstupní streamy, takže by mělo být stejně snadné šifrovat soubory jako třeba síťovou komunikaci. Mimochodem, knihovna nabízí licenční model, který demonstruje jeden ze způsobů, jak si vydělávat programováním otevřeného softwaru. Knihovna je šířena pod licencí GPL, ale pokud si zaplatíte jistý obnos, získáte licenci, která nevyžaduje zveřejnění odvozených projektů ve zdrojové podobě.
Apache::ASP je pokus o přenesení ASP ze světa Windows a IIS na un*xy. Jak možná víte, ASP není konkrétní jazyk, ale jakýsi zastřešující framework, přičemž programovat můžete třeba v JScriptu nebo VBScriptu (kteréžto dva jazyky jsou typické právě pro Windows). V případě Apache::ASP se ovšem programuje v Perlu.
Projekt vhl-tools je soubor nástrojů, pomůcek, patchů a dokumentace, které umožňují vývoj aplikací pro velmi zajímavý kapesní počítač VTech Helio. Kromě toho jsou v balíčku obsaženy i vzorové image flash paměti, včetně portu linuxového jádra na tuto platformu.

UX DAy - tip 2

Středa 5. 7.
Oracletool je webové rozhraní pro administraci databázových serverů od Oraclu (nečekané :), přičemž stoprocentně funkční je ve spojení s verzemi 7.3 a vyššími, u starších verzí je třeba počítat s tím, že nemusí fungovat vše. Webové rozhraní má svoje nepopiratelné výhody, zejména dostupnost odkudkoliv a z libovolné platformy a není nutné instalovat žádnou klientskou část nebo knihovnu na pracovní stanici. Program je napsaný v Perlu (využívá DBI) a myslím, že je docela propracovaný, ale těžko se mi to posuzuje, protože Oracle neznám a o plno funkcích si jenom domýšlím, co vlastně znamenají :)
Dial-up je v našich krajích nejobvyklejším způsobem připojení, ale i tak není cena z nejpříznivějších. Pokud chcete uspořit nějakou tu korunu, můžete začít u filtrování pošty. Pochopitelně u filtrování ještě před stažením na váš počítač. A protože vám tohle zdaleka všichni provideři neumožní provést na serveru, nezbývá, než použít třeba popsneaker. To je program, který nechtěnou poštu určuje podle poměrně solidního systému pravidel, která aplikuje na některé údaje zjistitelné ještě před stažením zprávy. Můžete filtrovat zprávy podle jejich velikosti, obsahu libovolných hlaviček, můžete definovat blacklisty, chránit se před mailbombingem či mazat automatické odpovědi. Při vhodném souboru pravidel mohou být dle mého názoru úspory poměrně znatelné.

A to je pro dnešek vše…

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

Autor článku