Hlavní navigace

Softwarová sklizeň (20. 9. 2000)

20. 9. 2000
Doba čtení: 10 minut

Sdílet

Pravidelná sonda do světa (převážně) Open Source softwaru.

Pondělí 18. 9.
PHPDocumentator je obdobou JavaDocu a dalších podobných systémů pro generování dokumentace přímo ze zdrojových kódů programu. Název napovídá, že je určen pro kód v PHP, ale rovněž říká, že program samotný je v PHP napsaný. Na domovské stránce projektu si můžete prohlédnout výsledky jeho práce na menším i větším projektu a je třeba říci, že alespoň mě připadají velmi pěkně zpracované. Píšete-li větší projekt v PHP, neměli byste si PHPDocumentator nechat ujít.
Vlastníte-li digitální fotoaparát Nikon D1 nebo uvažujete-li o jeho koupi, pak by vás měl zajímat program DeNEF, který dokáže konvertovat snímky z ní získané na běžné grafické formáty pro další zpracování nebo prohlížení.
Pokud máte tak úchvatně konstruovanou krabici počítače jako já a váš nevýkonný PC Beeper směřuje směrem k podlaze, jistě víte, že přeslechnout pípnutí není žádný problém. Ačkoliv žijeme v době 3D zvuku, pěti-reproduktorových systémů a bůhvíčeho ještě, hodně aplikací prostě jenom pípá. Krásným příkladem budiž emulátor terminálu nebo un*xová konzole a například emailoví klienti v nich spuštění. A proto je dobře, že existuje program Fancy Beeper. To je totiž jaderný patch a modul, který způsobuje, že každé pípnutí klasickým způsobem je signalizováno na novém zařízení /dev/beep. Démon běžící v user-space pak může na tento signál reagovat po svém. Třeba přehráním samplu na zvukovce nebo vizuálním efektem atd.
Skript apache2dot zpracovává logy HTTP serveru Apache a generuje z nich popis grafu pohybu uživatelů po vašem serveru pro program graphviz. Ten pak dokáže vygenerovat postscriptový dokument. Podobná analýza dokáže odhalit zajímavé věci a souvislosti.
Mnoho způsobů využití nabízí program WebCleaner. Jde o tzv. filtrovací proxy server, neboli proxy, která provádí zásahy jak do HTTP hlaviček (v obou směrech), tak do vráceného dokumentu. O filtrování se starají moduly, kterých obsahuje WebCleaner celkem šest. První nahrazuje znaky, které lze vidět jenom ve Windows jejich přenositelnými ekvivalenty (užitečné), druhý dokáže upravovat hlavičky (paranoici mohou třeba blokovat cookies), třetí přepisuje obsah vráceného dokumentu podle zvolených pravidel (může například odstraňovat JavaScript, komentáře, všelijak přeformátovávat soubor atd.), čtvrtý umí blokovat vybrané adresy, čtvrtý odstraňuje animované GIFy a poslední komprimuje dokumenty. Kromě oblíbeného blokování reklamních bannerů (ale pozor, z něčeho se provoz serveru skutečně musí zaplatit) může být proxy, jako je WebCleaner, velmi šikovným pomocníkem například pro prohlížení WWW stránek na malých zařízeních, jako jsou PDA (a hlavně s tak pomalým připojením, jako je GSM).

Neděle 17. 9.
Modul PHP-Orbit rozšiřuje možnosti PHP4 o komunikaci s jinými službami pomocí protokolu CORBA. To může být zajímavá cesta, jak propojit webové aplikace s různými dalšími systémy.
Pod názvem Intelligent FRAC se ukrývá Open Source verze DOSové hry FRAC. Tu sice neznám, nicméně podle obrázků lze soudit, že jde o jakousi obdobu BlockOutu, tedy vlastně o Tetris ve 3D. IFRAC existuje ve verzi pro konzoli (SVGAlib) i X11, podporuje použití joysticku a umí přehrávat různou hudbu k jednotlivým levelům (k tomu sice používá externí program, ale na druhou stranu to má i něco do sebe: soundtrack si zvolíte sami a nejste ani závislí na konkrétním datovém formátu).
Máte-li chuť obohatit svou herní sbírku o tituly pro Sony Playstation a nechcete si zrovna tuto konzoli kupovat, mohl by vás zajímat projekt FPSE, neboli Free PlayStation Emulator. FPSE existuje v binární i zdrojové podobě pro Linux, Windows a Amigu. Linuxová verze podporuje SVGAlib, AAlib, SDL a X11, hry můžete mít jak na CD, tak v podobě ISO image. Zatím není podporován zvuk, ale systém je připraven tak, aby vše řešilo přidání zásuvného modulu. Na domovské stránce FPSE najdete i seznam her, které s tímto emulátorem zaručeně fungují.
Poměrně složitým názvem disponuje program mpg123+eq 4, ale jeho vysvětlení je jednoduché. Jde o patch k MP3 přehrávači mpg123, který jej obohacuje o plnohodnotný šestnácti-pásmový grafický ekvalizér a VU meter. Poměrně šikovná je schopnost uložení až třech přednastavených hodnot, přeci jenom různé žánry a styly potřebují poněkud odlišné nastavení.
Projekt Supermount si klade za cíl usnadnit práci s vyjímatelnými médii a obejít systém mountování, což jistě uvítají zejména začátečníci. Jde o jaderný patch, který zajišťuje automatickou detekci média, jeho připojení a odpojení, případně i vysunutí (pokud to hardware umožňuje) atd. Supermount původně existoval pouze pro jádra z řady 2.0, ale nyní existuje snaha přenést jej i na aktuální jádra, takže poslední verze například podporuje kernel 2.4.0-test7.

Sobota 16. 9.
RIMS je projekt, který by vám měl umožnit správu a přehrávání MP3 souborů. Jde o soubor PHP skriptů umožňujících procházení a prohledávání vaší kolekce „empétrojek“, a to jak podle jmen skladeb či autorů, tak i podle žánrů atd. Skladby je možné organizovat do playlistů a nakonec je samozřejmě i přehrávat. Kromě domácího použití by mohl podobný systém být vhodný například pro internetové kavárny a podobná zařízení, kde není žádoucí, aby se uživatel příliš „šťoural“ v tom, co je na disku, ale přesto chcete, aby si mohl pustit hudbu podle svého gusta.
Sympatický programátorský editor Glimmer je určen pro GNOME a nabízí asi většinu věcí, které od takového programu očekáváme. Umí samozřejmě zvýrazňování syntaxe, obsahuje užitečné drobnosti jako je kontrola závorek nebo vkládání předdefinovaných bloků textu, pochopitelně nechybí ani vícenásobné undo, možnost editace více souborů najednou a podobně. Zajímavá je možnost psaní maker v Pythonu, jehož interpretr je v editoru zabudován.
Pokud používáte při různých příležitostech různé prohlížeče, asi vám život znepříjemňuje udržování bookmarků. Řešení jsou dvě: buď používat některé centralizované řešení (různé webové bookmarky, LDAP atd.) a nebo zkrátka záložky synchronizovat mezi jednotlivými produkty. To druhé zvládá program bmsync. Ten umožňuje pracovat ve třech základních režimech. Prvním je sync, který načte záložky ze všech zadaných zdrojů, odstraní duplicitní záznamy, doplní co chybí a výsledek opět uloží pro všechny programy. Režim copy pouze konvertuje záložky z jednoho nebo více zdrojů do jediného cílového souboru, a režim merge spojí záložky z více zdrojů (včetně cílového) a zapíše jej do posledního z nich. Bmsync podporuje záložky ve formátu Netscape Navigatoru, Internet Exploreru a kfm z KDE.
Objevila se nová verze Bindu s označením 9.0. Měla by mimo jiné obsahovat například lepší podporu IPv6. Nevím jak vy, ale já raději s upgradem pár týdnů počkám, nějak jsem se naučil nedůvěřovat nultým verzím :)

Pátek 15. 9.
Asi před třemi týdny jsem ve Sklizni zmiňoval program poEdit, který usnadňuje překlad katalogů hlášení pro systém gettext. No vida, a dnes už má tento program konkurenta jménem gtranslator. Tento editor katalogů je určen pro GNOME, a to je přibližně vše, co se mi o něm podařilo zjistit. Domovská stránka je, stejně jako popisek ve Freshmeatu, na slovo skoupá.
Merlot XML Editor je XML editor (překvapivě) napsaný v Javě. Vlastně výstižnější je popis, který používají sami autoři: Merlot XML Editor je modelovací nástroj pro XML. Jeho cílem je usnadnit návrh a editaci XML dokumentů pomocí předdefinovaných obrazovek dle jednotlivých DTD. Přímou editaci zdrojového kódu vlastně MXE ani nepodporuje, i když se s ní počítá. Program je rozšiřitelný pomocí zásuvných modulů (pochopitelně také psaných v Javě). Mimochodem, MXE byl původně uzavřený projekt a teprve nyní se zopensourcovatěl (za tohle slovo mě určitě někdo zabije :)
Pokud máte zmatek v tom, které hlavičkové soubory ve vašem projektu vlastně co používá, pak by vám mohla pomoci utilitka cinclude2dot, která slouží k vygenerování grafu závislostí. Respektive ona negeneruje graf, ale zdrojový kód pro program graphviz a teprve ten vám vytvoří například postscriptový dokument. Základní problém spatřuji v tom, že ani po vytvoření mapy závislostí nemusíte být moudřejší, protože u složitějších projektů vypadá výsledek spíše jako abstraktní umění, než jako pomůcka programátora.
Jednoduchý prográmek KPopUp slouží pro posílání a přijímání zpráv odesílaných z Windows pomocí WinPopUp (a nebo samozřejmě i z un*xů KPopUpem, Linpopupem a dalšími nástroji tohoto typu).
O knihovně Ming, která slouží ke generování SWF (Flash animace) souborů, jsem tu již psal. Dnes ji zmiňuji znovu, a to proto, že nyní k ní kromě PHP rozhraní existuje i modul pro Python.

Čtvrtek 14. 9.
Pracujete-li s více různými databázovými servery, pak by se vám mohl hodit program ISQL-Viewer. Jde o grafické rozhraní k SQL serveru napsané v Javě a používající JDBC. Momentálně umožňuje pracovat v podstatě transparentně s MySQL, PostgreSQL a Oraclem. Zajímavá je možnost tisku výsledku SQL dotazu. Kromě toho obsahuje program Cerberus, který slouží k replikování databází a konverzi dat mezi servery (nebo textovými soubory).
YaRET je další nástroj na grabování CD a převod skladeb do formátu MP3. Jako obvykle jde jenom o rozhraní nad existující utility (cdparanoia, lame nebo bladeenc), které maximálně usnadňuje jejich použití. Jako bonus navíc je zde podpora CDDB, která umožňuje automaticky identifikovat CD i skladby a nastavit správně ID tagy výsledným MP3 souborům. YaRET je napsaný v Perlu a potřebuje v provozu některé dodatečné moduly.
Vývojová prostředí existují pro všemožné jazyky, ale pro vývoj webových aplikací jich zase až tolik není, snad kvůli velmi odlišnému způsobu fungování oproti běžným aplikacím. Že ale není nemožné něco takového vytvořit, o tom svědčí projekt Nexidion Designer. Zatím disponuje hlavně dvěma unikátními funkcemi. Tou první je editor umožňující editovat zvlášť statickou (HTML) a zvlášť dynamickou (PHP) část dokumentu. Tou druhou, a to je podle mně skutečná bomba, je plnohodnotný interaktivní PHP debugger se vším, co k tomu patří: s breakpointy, krokováním, watch-pointy, vzdáleným laděním, atd. No a jako třešínka na dortu obsahuje Designer také PHP Profiler, který vám pomůže odhalit, co skript nejvíce zdržuje. Do budoucna by měl přibýt také debugger skriptů psaných v Perlu a celkově by se měl posílit editor tak, aby mohl konkurovat samostatným HTML editorům, jako je třeba Quanta Plus nebo ve Windows HomeSite.
Při ladění výkonu aplikace se často používá profiler. Pokud používáte gprof a máte pocit, že výsledek není dostatečně přehledný nebo srozumitelný, podívejte se na KProf. To je grafické rozhraní, které zobrazuje výsledky profileru hned několika způsoby. První je vlastně shodný s tím, co zobrazuje gprof. Druhý způsob je už zajímavější, jde o stromovou strukturu seskupenou podle toho, odkud se které funkce volaly. A konečně třetí zobrazení je určeno pro C++, protože seskupuje metody podle tříd, jimž náleží. Zajímavá je také možnost filtrů (zobrazení pouze těch funkcí, které mají ve jméně zvolený řetězec).

root_podpora

Středa 13. 9.
Eteria IRC Client, zkráceně EIRC je klient populární služby IRC napsaný v Javě jako applet, který může být provozován přímo ve většině nejrozšířenějších prohlížečů. Na domovské stránce programu najdete jejich seznam, takže máte hned jasno, jestli EIRC poběží právě v tom vašem nebo nikoliv.
Nápad budit se počítačem už tu pochopitelně byl. Ortodoxní un*xáci to budou dělat spuštěním mpg123 z crona :) a ti ostatní si zvolí nějaký jiný program k tomu určený. Může to být například plugin Xmms alarm, který se nezaobírá tím, co a jak přehrát – to nechává na XMMS, ale soustředí se na další funkce. Tím pádem nabízí velmi slušný luxus, posuďte sami: kromě času buzení nastavujete i jak dlouho má hudba hrát, jak dlouho se bude zhlasiťovat a v jakém rozsahu, který playlist se bude přehrávat a navíc můžete ještě nastavit dodatečný povel, který se v čas alarmu vykoná (to pro případ, že máte počítačem řízenou kuchyň a chcete dát příkaz k přípravě snídaně :). Jak vidno, Xmms alarm nabízí možná ještě více, než leckteré specializované zařízení (tedy budík :)
Skript burn_baby_burn je dalším pomocníkem pro vypalování, který jde ovšem ještě o něco dále. Kromě vypalování všech možných typů disků z různých zdrojů nabízí i podporu grabování a encodování „empétrojek“, takže například k cestě od audio CD až po CD plné MP3 souborů nepotřebujete vlastně nic jiného. Zajímavá je rovněž podpora tvorby bootovatelných záloh na CD a to dokonce i s možností rozdělení zálohy na více disků.
Už jsem se bál, že to nikdo nenaprogramuje. Přitom to nevypadá nijak složitě. Ale teď už je to tady: první Open Source ladička hudebních nástrojů. Jmenuje se Pitchtune a funguje vlastně stejně, jako elektronické ladičky, které dnes koupíte v každém obchodě s hudebninami. Program „poslouchá“ tón z mikrofonu a zobrazuje jeho odchylku od optimálního naladění. Program není omezen na konkrétní typ nástroje, lze jej použít pro ladění čehokoliv od kytary až po Panovu flétnu a určitě je i levnější, než ta nejlevnější ladička (tedy pokud máte už doma počítač :) a jestli zrovna netočíte desku ve studiu, nepotřebujete ani žádný super mikrofon. Ovšem počítač asi nestrčíte do obalu kytary tak snadno, jako malou ladičku :)

A to je pro dnešek vše…

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

Autor článku