Hlavní navigace

Softwarová sklizeň (8. 1. 2003)

Michal Krause

Oblíbená sonda do světa (převážně) otevřeného softwaru. Dnes tu máme praktickou utilitku, se kterou je takřka libovolně složité hromadné přejmenování souborů zcela triviální záležitostí, port Bugzilly do PHP nebo něco pro hráče: počítačovou verzi hry RISK.

Obsah

Snad každý uživatel počítače zažil situaci, kdy je třeba netriviálně přejmenovat větší množství souborů. Někdo to řeší úmornou ruční prací, jiný si naprogramuje jednoúčelovou utilitu, něco zvládnou správci souborů. Nicméně asi nejlepší variantou zůstávají specializované nástroje, protože se s nimi dá problém obvykle řešit stejně účinně, jako jednoúčelovým programem, ovšem s o poznání menším úsilím. Takovým programem je RE. Jde o relativně snadno použitelnou utilitku pro příkazovou řádku, která díky regulárním výrazům dokáže divy. Základními parametry jsou výraz určující masku souborů a příkaz, který se na nich má vykonat. Důležité ale je, že zde plně fungují zpětné reference, takže si lze pomocí závorek zapamatovat části původního jména souboru a použít je v příkazu. Díky možnosti provádět aritmetické operace a deklarovat proměnné se stává triviálním úkolem například očíslování nebo přečíslování souborů. A jelikož povel k vykonání je plně ve vaší režii, nemusíte se vůbec omezovat na přejmenovávání souborů – můžete je například kopírovat, externí utilitou konvertovat do jiného formátu, komprimovat a nebo třeba jenom mazat – regulární výraz je při definování masky přeci jenom mocnější než shellové výrazy.

Nejen Linuxem živ je člověk, a tak následuje malá odbočka do světa OpenBSD. Praktická utilitka nazvaná openbechede slouží podobně jako třeba apt-get nebo urpmi k automatické instalaci (nebo případně i odinstalaci) balíčků a řešení jejich závislostí. Udržovat systém v aktuálním stavu je důležitá věc a s openbechede by to mělo být o něco snazší.

Stolní hra zvaná RISK (která nemá naprosto nic společného s dnes již přejmenovaným soutěžním pořadem nejmenované TV Nova) se dočkala hned několika počítačových verzí, a to dokonce i pro Linux. Na Freshmeatu jsem nalezl hned pět her, které se k větší či menší inspiraci RISKem přiznávají. Šestou variantou je hra nazvaná KsirK (hádejte, z čeho tento název vznikl). Nejnovější verze obsahuje zárodek enginu pro umělou inteligenci, i když tu bude ještě třeba dodat (počítač totiž zatím táhne náhodně, takže asi bude lepší hrát proti lidskému protihráči :), a také podporu témat, která mohou změnit mapu kontinentů, rozložení zemí či národnosti armád.

Memgrep je program, který najde (samozřejmě v rukou hodných hochů) velké uplatnění při ladění a testování aplikací, případně při reverzním inženýrství. Dokáže totiž zobrazovat, prohledávat a dokonce i modifikovat obsah paměti běžících procesů (případně core souborů).

Forest Web Application Builder je poměrně zajímavý pokus o vytvoření vývojového prostředí pro webové aplikace běžícího – jak jinak – v prohlížeči. Vývoj projektu je teprve v počátcích, nicméně již obsahuje XML editor se stromovým zobrazením, náhledem a editorem zdrojového kódu. Program je napsaný v Perlu.

V populární multiplatformní GUI knihovně wxWindows můžeme nalézt množství nejrůznějších tříd, které přímo nesouvisí s grafickým rozhraním a které by své uplatnění jistě našly i v celé řadě dalších C++ aplikací. Jedná se převážně o vylepšené varianty základních datových typů (řetězce, datum a čas), nejrůznější utility (například zpracování parametrů příkazové řádky, práce s regulárními výrazy) a také přenositelné obálky okolo systémových prostředků, jako jsou soubory, procesy a vlákna, sokety a podobně. Proto vznikla samostatná knihovna wxBase, která tyto třídy obsahuje a není nijak závislá na grafickém rozhraní. Díky tomu lze psát například plně konzolové nebo obojetné (textové i grafické rozhraní) aplikace, které se mohou těšit ze stejných výhod, jako jejich GUI bratříčci. Za největší výhodou si pak troufám prohlásit přenositelnost mezi platformami.

Bugzilla je v současné době jeden z nejpropraco­vanějších otevřených bug-tracking systémů a má mnoho příznivců. Našel se mezi nimi i jeden člověk, který se ale nemohl sžít s Perlem, a tak se rozhodl k radikálnímu kroku: přepsání Bugzilly do PHP. Nově vzniklý projekt byl pojmenován Bosco a vypadá to, že se má čile k světu. Pokud se jej rozhodnete vyzkoušet, pak si dovolím upozornit na to, že odkazem do SourceForge projektu je ikonka vpravo nahoře, což mi nepřišlo na první pohled docela zřejmé.

Zajímavost týdne

Swiss-PdbViewer je opět jeden z „must have“ programů, který by neměl chybět na žádném počítači. Umožňuje totiž souběžnou analýzu několika různých proteinů, což je myslím činnost, kterou provozuje většina z nás přinejmenším dvakrát denně. Důležité je, že program dokáže proteiny skládat na sebe, což umožňuje odhalovat strukturální zarovnání nebo porovnávat aktivní části. Rovněž není problém zkoumat mutace aminokyselin či zjišťovat úhly, H-vazby a vzdálenosti mezi atomy. Praktická je rovněž schopnost načítat mapy elektronové denzity. A pokud ničemu z toho nerozumíte (podobně jako já :), oceníte možná alespoň velmi působivé ukázky renderovaných molekulárních struktur, které vznikly díky schopnosti programu exportovat data pro PovRay.

A to je pro dnešek vše…

Našli jste v článku chybu?