Hlavní navigace

Softwarová sklizeň (22. 11. 2000)

22. 11. 2000
Doba čtení: 9 minut

Sdílet

Pravidelná sonda do světa (převážně) otevřeného softwaru.

Pondělí 20. 11.
Nekorunovaným králem mezi Open Source programy v oblasti editace bitmapové grafiky je bez debaty GIMP. Ale pro mnoho lidí je zbytečně složitý a komplexní, a tak je rozhodně na slunci místo i pro jednoduché editory, jako je třeba GPaint. Funkčně i vizuálně je velmi podobný programu Xpaint, takže příznivci tohoto editoru nebudou mít problém s případným přechodem. Celkově vzato nabízí GPaint všechny potřebné funkce pro tvorbu jednoduché grafiky, ikonek a podobných prvků bez nutnosti dlouhého seznamování se s prostředím a ovládáním.
Dalším video přehrávačem, který se bude ucházet o vaší přízeň nese prozaické jméno Movie Player. Je založen na jiném přehrávači jménem MPEGplayer a poradí si s několika typy MPEG videa i různými formáty AVI (včetně DivX, jako obvykle se používají kodeky z Windows).
Webové chaty jsou velmi oblíbené, snad kvůli snadnosti ovládání a proto, že nevyžadují instalaci dalšího programu. Chcete-li takový chat provozovat, ať už pro veřejnost, pro pár přátel či jako jeden z kanálů vnitropodnikové komunikace (to se asi moc nepoužívá, že? :), nemusíte se zdaleka spoléhat jenom na své programátorské schopnosti. Můžete kromě jiných použít třeba i program TAHC. Tento chat je napsaný v PHP, přesněji v PHP verze 4, a nabízí snad vše potřebné jak pro administrátora, tak pro uživatele.
Sredir je program umožňující sdílení sériového portu po síti. Celé to funguje díky protokolu Telnet Com Port Control Option specifikovaný v RFC 2217.
K provozu jednoduchých slovníků, ať už jazykových, naučných či výkladových se lze obejít i bez SQL serveru a podobných „těžkotonážních“ technologií. Může k tomu stačit PHP a XML soubor ve formátu nazvaném SDF – Simple Dictionary Format. S tím totiž pracuje skript SDF Viewer, který nabízí základní funkci vyhledávání s možností různých filtrů a tříděním výstupu.

Neděle 19. 11.
V dnešní době už zdaleka není tak jednoduché zavádět nové standardy, jako to bývalo v dřevních dobách Internetu. Snad i proto je dodnes nejpoužívanějším protokolem pro přenos souborů mezi jednotlivými uzly v rámci Internetu FTP, ačkoliv v jeho případě nelze o nějaké bezpečnosti ani hovořit. A mám pocit, že stejně, jako v našich počítačích stále nic nenahradilo pomalou a nespolehlivou disketovou jednotku, bude tu ještě nějaký ten pátek i FTP, neboť nové standardy nejsou již ani náhodou přijímány jednotně. A než se najde nějaké zajímavé řešení, musíme si pomáhat různými obezličkami. Kromě tunelování FTP skrz SSH lze používat také scp, součást to un*xového SSH. A pokud vám ani to nevyhovuje, možná vezmete zavděk programem hsftp, který emuluje chování běžného FTP klienta, ovšem komunikace probíhá podobně jako u scp přímo s využitím možností SSH.
Chyby v DNS mohou mít velmi nepříjemné následky a proto je lépe jim přecházet (což konec konců platí pro všechny chyby :). Naštěstí se kromě svých vlastních znalostí a smyslů můžete opřít také o některé kontrolní pomůcky. Jednou z nich je i program Dlint, který můžete používat jak lokálně, tak přes CGI rozhraní přímo z domovské stránky programu.
Autoři projektu X Multimedia Project došli k názoru, že Linuxu chybí modulární systém pro přehrávání multimédií všeho druhu. A také se to rozhodli napravit. Tento právě vznikající projekt obsahuje tří základní komponenty: knihovnu libxmm, která se stará o spojení přehrávače a pluginů, přehrávač (neboli uživatelské rozhraní, jemuž nechybí podpora skinů) a samozřejmě moduly, řešící vstup, výstup i různé efekty. XMMP umí nyní přehrávat WAVy, MPEG 1, MPEG 2, MPEG 1/2 layer 1, 2 a 3 a moduly (známě hlavně z Amigy). Rovněž obsahuje podporu pro načítání kodeků z windowsovských DLL.

Sobota 18. 11.
Další možnost, jak se realizovat při tvorbě světů a příběhů pro hry typu MUD (MultiUser Dungeon), a to s pomocí otevřeného softwaru, nabízí projekt The Diabolically Uncrashable Mud Builder. Jde o interpret specializovaného jazyka podobného Lispu napsaný v Javě (a tak se v jednom projektu sešly dva jazyky, které mi do oka zrovna dvakrát nepadly :) Tento jazyk je ale samozřejmě specializovaný na jediný konkrétní účel, tedy popis herního světa, jeho obyvatel a interakcí mezi nimi. Jinak řečeno, DUMB je určen hlavně pro lidi, kteří preferují spíše „klasický“ programátorský styl práce, než nějaký vizuální přístup.
Asi každý administrátor, který někdy pracoval ve středním (nebo ještě lépe velkém) podniku, se nejspíš setkal s inventurami hardwaru. Já mám tuhle zkušenost z jedné nejmenované banky, kde jsem se kdysi se sáhodlouhými sjetinami plazil pod stoly a odškrtával počítače, tiše přitom proklínaje byrokracii, život a vůbec. Na druhou stranu, mít slušnou evidenci výpočetní techniky není v mnoha případech od věci a pokud nejsem zrovna tou obětí, která musí inventury provádět, nejsem proti :) Ať už jste z inventur nadšeni nebo je pouze považujete za nutné zlo, mohl by vám život usnadnit program IRMA, který je právě pro takové úkoly určen. Kromě vlastní evidence všemožných zařízení poslouží i jako jednoduchá pomůcka pro zmapování sítě a v neposlední řadě obsahuje i „job tracking systém“ (přiznám se, že takhle při půlnoci mě vhodný český překlad nenapadá), který lze využít například pro hlášení a realizaci servisních zásahů a podobně. IRMA má webové rozhraní (napsané v PHP), backend používá MySQL a administrace se provádí přes integrované LDAP rozhraní.
Potřebujete-li realizovat v programu rychlé vyhledávání v rozsáhlých textových souborech (řádově desítky MiB), zkuste se podívat na knihovny Sary. V jejím názvu je skrytá i použitá technologie – jde o tzv. suffix arrays, které prý umožňují velmi efektivní prohledávání velkých dokumentů.

Pátek 17. 11.
Pod názvem Shell In A Box se ukrývá šikovná pomůcka – terminálový emulátor napsaný v Javě formou appletu, takže je použitelný takřka v libovolném prohlížeči podporujícím Javu. Pro lokální použití by to samozřejmě nemělo valného smyslu, podstata programu je ve vzdáleném přístupu, k němuž ovšem požaduje na serverové straně speciální CGI skript. Samotný klient pak nabízí většinu podstatných funkcí, jako je emulace VT102, podpora ANSI barev, ukládání obsahu obrazovky pro pozdější zpětné prohlížení, podporu myši či práci se schránkou. Méně častou funkcí je plná podpora UTF-8 s možností nahrávání unicodových fontů. Skutečnou bombou bude pro hodně lidí ale úplně jiná vlastnost, a tou je podpora HTTP proxy. Vzhledem k principu fungování je celá komunikace tunelována skrz HTTP protokol, takže jste-li omezení pouze na přístup k webu, máte takto jedinečnou možnost tento limit obejít. Bohužel jsem na domovské stránce projektu nenašel informaci o tom, jestli lze Shell In A Box provozovat i přes šifrovanou komunikaci pomocí SSL, což je z hlediska bezpečnosti velmi důležité.
Jste-li nuceni pracovat v prostředí, kde serverům vládnou Windows, a nechcete-li se přesto vzdát své unxové pracovní stanice, pravděpodobně se budete muset zřeknout některých funkcí, pro něž nenajdete potřebné alternativní programy. Někdy je to jedno – konkrétní funkce třeba nestojí ani za úsilí vynaložené na hledání potřebných unxových pomůcek – ale jindy to může být dost vážný problém. Naštěstí se díky tomu, že heterogenní sítě jsou čím dál častějším jevem, objevuje stále více programů, které soužití různých systému usnadňují. Pěkným příkladem je utilitka pabber, která je určena všem, kdo by chtěli naučit běžné emailové klienty, zejména pak Pine, spolupráci s M$ Exchange. Pabber totiž dokáže stahovat a prohledávat položky z takzvaného Global Address Listu, jinak řečeno adresáře všech členů emailového uzlu.
Plugin QuiXound 3D Surround Studio pro XMMS si klade jednoduchý cíl: realizovat co možná nejkvalitnější prostorový zvuk pomocí nepatentovaných algoritmů. Ačkoliv jsem sám k podobným systémům na dodatečné „zprostorovatění“ zvuku poněkud skeptický, věřím, že se jistě najde mnoho uživatelů, kterým udělá radost :)

root_podpora

Čtvrtek 16. 11.
Snad každý, kdo někdy hledal různé šikovné CGI skripty pro svůj server, narazil alespoň na některé programy od Matta Wrighta. Poznají se snadno, mají totiž vždy v názvu křestní jméno autora. Zřejmě nejznámějším skriptem byl (nebo je) Matt's FormMail, univerzální program pro odesílání obsahu formulářů z webových stránek emailem. Jde o velmi šikovnou a propracovanou pomůcku. Někomu ovšem nemusí vyhovovat zvolený jazyk, kterým je Perl. Pokud preferujete spíše PHP, můžete zkusit skript podobný původnímu FormMailu funkcí i jménem – Jack's FormMa­il.php. Jeho výhodou je zvolený jazyk, který umožní provoz tohoto skriptu například i na free-hostingových službách (kde je PHP již často dostupné, narozdíl od CGI) a takřka úplná kompatibilita s Mattovým FormMailem. Mezi zajímavé funkce patří podpora několika typů polí, která jsou kontrolována i na syntaktickou správnost obsahu. Jsou to například telefonní nebo směrovací číslo.
O projektu Plex86 jsem se zde již zmiňoval. Jde o Open Source alternativu ke komerčnímu programu VMware, o němž už alespoň slyšeli snad všichni. Pokud ne, připomínám, že jde o implementaci virtuální platformy, tedy jakýsi softwarový počítač, na němž je možné normálně provozovat programy a systémy určené pro stejnou platformu. Poslední zprávy z tábora vývojářů Plex86 jsou optimistické: jakožto hostovaný operační systém fungují už i Windows 95 a dále pak Linux, FreeDOS a MS DOS. Přesto ale musím upozornit, že zdaleka ještě nejde o nějakou finální verzi, vše je zatím v pre pre pre stádiu.
Asi každý programátor se již někdy setkal (skoro se mi chce říct utkal :) s programem, který se choval poněkud nevyzpytatelně, ale přitom nebylo snadné jej nějakým konvenčním způsobem odladit. Pěkným případem jsou třeba multithreadové aplikace, jejichž „dezinsekce“ je skutečnou lahůdkou. V takových případech by mohla pomoci jedna šikovná pomůcka respektive knihovna. Jmenuje se libtrace a dokáže prakticky jenom jedinou věc, a to vypsat na požádání tzv. backtrace, ze kterého poznáte, v jaké funkci se právě program nachází a hlavně jak se do ní dostal (tedy odkud byla tato funkce volána).
Název programu LinkChecker vlastně říká vše. Jde o program, který vyhledává ve stránkách nefunkční odkazy. Program je napsán multithreadově, kontrola samozřejmě probíhá rekurzivně a je podporováno řízení přístupu pomocí souboru robots.txt. LinkChecker si poradí s odkazy na HTTP či HTTPS dokumenty, FTP soubory, emailovými odkazy, odkazy na diskuzní skupiny (news), gopher, telnet a samozřejmě i lokální soubory. Program navíc umí pracovat i přes proxy a nezastaví se ani před stránkami chráněnými heslem. Výstupem pak může být buď čistý text, HTML, SQL (sekvence příkazů pro vložení dat do databáze), CSV, XML nebo GML.

Středa 15. 11.
Možnost nastavovat Sambu pomocí konfiguračního nástroje Webmin není žádnou novinkou. Oproti tomu úplně nový je modul smblogin, který zase umožňuje kontrolovat obsah logon skriptů.
Program Griffin jistě uvítají všichni, kdo se chtějí zdokonalit v psaní všemi deseti. Tato výuková pomůcka je napsaná v Perlu s využitím ncurses rozhraní. Texty jednotlivých lekcí je možné snadno přizpůsobit nebo zcela vyměnit.
Problém sdílení záložek mezi různými webovými prohlížeči lze řešit buď pomocí všemožných konverzních utilitek a nebo jejich ukládáním na nějaký vždy dostupný server. Pokud se rozhodnete pro druhý zmíněný způsob, můžete zkusit třeba program b. (hezký název :). Jde vlastně o soubor CGI skriptů napsaných v Perlu, které umožňují relativně jednoduchou správu i prohlížení záložek. Hlavní výhodou tohoto přístupu je fakt, že záložky jsou takto dostupné prakticky z každého prohlížeče, nevýhodou naopak asi o něco těžkopádnější manipulace oproti systémům zabudovaným přímo v browseru. B. ukládá data ve formátu XML, což je dle mého názoru výhoda neboť pokud přestane tento program vyhovovat, neměl by být problém s přenosem dat do jiného prostředí.
Vývojáře v C++ by mohla zajímat knihovna The UDS Collection, která slouží k ladění programů. Dokáže odhalit chyby v dealokaci paměti (leaks), logovat alokace a dealokace či vyhledávat zombifikované objekty. Dále jsou zde „užitné“ funkce, jako třeba generátor pseudonáhodných čísel, třídy obalující Posix threads, vytváření dočasných souborů, zakládání potomků atd. Zkrátka takový lehký pelmel :)

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

Autor článku