Softwarová sklizeň (25. 3. 2009)

25. 3. 2009
Doba čtení: 4 minuty

Sdílet

Oblíbená středeční sonda do světa (převážně) otevřeného software. Dneska se společně blíže podíváme na Parrota a Bash. Pak si poslechneme syntézu mluvené řeči, ukážeme si, jak diffovat celé adresáře a jak paralelizovat vaše shell skripty, a nakonec se podíváme, jak zkrotit spotřebu elektřiny.

Parrot

Po dlouhém vývoji konečně vyšel první stabilní Parrot 1.0.0. Parrot je virtuální stroj, který původně vznikl kvůli Perlu6. Virtuální stroj musel podporovat dynamické jazyky – proto například nebylo možno použít JVM. Parrot a Perl6 se pomalu řadily vedle takových velikánů jako je Duke Nukem Forever nebo Hurd. Perl6 se zpožďoval, protože nebyl hotový Parrot a Parrot nebyl stabilní, protože se nevědělo, co všechno bude muset umět pro Perl6… Původně byl požadavek na běh pouze dvou jazyků: Pythonu a Perlu6. Ale jak Parrot dozrával, tak vznikaly kompilátory i z jiných jazyků: APL, BASIC, Befunge, Cola, ECMAScript, Forth, Jako, Lisp, Lua, m4, Miniperl, OpenComal, PHP (pipp), Plot, Pheme, Punie, Python, Ruby (Cardinal), Scheme, Smalltalk (Chitchat), Squaak, Tcl (aka partcl), URM, YAL a Z-code. Většina těchto jazyků se kolem verze 0.9 od Parrotu odpoutala a žijí teď vlastním životem. S různým stadiem rozpracovanosti. Co tedy vlastně znamená vydání Parrotu? Mno – pro koncové uživatele-programátory v podstatě nic moc. Na druhou stranu je to velký krok. Znamená to, že spousta překladačů do Parrotu bude brzo následovat. A že pokud jste tvůrci nějakého obskurního HW, tak se asi budete chtít zabývat myšlenkou zprovoznění Parrotu na vašem železe, neboť vám to otevře dveře k široké množině dynamických jazyků.

www.parrot.org/, 1.0.0, Artistic 2.0.

Stroy

Stroy je diff nástroj (česky řečeno: hledá rozdíly). Ale na rozdíl od běžných nástrojů se specializuje na porovnání celých adresářů a dokáže se vyrovnat s tím, že se soubor přejmenoval, přesunul do jiného adresáře a ještě navíc částečně změnil obsah. Program je napsán v Javě – budete potřebovat SDK 1.5.

Stroy

stroy.wikidot­.com/, 1.0.2, MPL1.1

The Middleman Project

Rádi byste paralelizovali své skripty? Samozřejmě znáte make a jeho parametry -j (–jobs) nebo -l (–load-average), ale při slově Makefile se vám ježí vlasy hrůzou? Tak zkuste The Middleman Project. S drobnými změnami můžete paralelizovat své shell skripty. Stačí pouze před program, který má být spouštět paralelně, uvést slovo mdm-run a to může být vše. Ovšem pokud potřebujete skript v nějakém místě opět zeserializovat, tak vám na to nabízí funkci „mdm-sync“. A aby toho nebylo málo, tak mezi paralelními běhy můžete definovat závislosti přes soubory ve speciálním souboru. Jednoduše tak můžete získat mnohem jemnější závislosti (co se týče paralelního běhu), než umí make.

mdm.berlios.de/, 0.1.2, Apache 2.0

MBROLA

Tak po nějaké době tu máme opět ne úplně svobodný software. Je sice zdarma, ale je distribuován pouze v binární formě (naštěstí pro naprostou většinu současných systémů). Jedná se o program pro syntézu mluveného slova MBROLA. Navíc není vůbec nový, ale prostě jsem o něm dosud neslyšel. Pokud se už zvedáte ze židle, že tu už dlouho máme Festival, tak se zase posaďte. Zapněte si reproduktory nebo si nasaďte sluchátka a poslechněte si Festival a pak si poslechněte MBROLU. Více to rozebírat asi nemá cenu.

tcts.fpms.ac.be/syn­thesis/mbrola­.html, 12/2005, MBROLA Licence

pwrkap

Pwrkap je program, který se snaží udržet váš systém na dané spotřebě elektřiny. Tj. pokud jí spotřebováváte hodně, tak sníží výkon (a tudíž odběr) některých komponent a pokud naopak máte rezervu, tak některým komponentám povolí zvýšit výkon. Kouzlo programu je v tom, že se snaží vhodně vybrat ty komponenty, kde sníží, resp. zvýší výkon. Systém se namapuje do čtyřrozměrného pole. Prvním souřadnicí je doména zařízení, druhou je výkon zařízení (nikoliv elektrický). Třetí je současná spotřeba elektřiny a čtvrtá je navrhovaná spotřeba elektřiny. Hodnota daného prvku je průměrný dopad na spotřebu elektřiny. Pokud tedy můžete spotřebovat pár watů navíc, tak může pwrkap docela přesně spočítat, kterým komponentám povolit uzdu, tak bylo zvýšení výkonu systému bylo maximální při minimálním zvýšení elektřiny. Nedostatky programu jsou v tom, že ne každá komponenta má svůj ovladač pro pwrkap a že musíte projít nejdříve učením, kdy se musí naplnit uvedená tabulka alespoň určitým minimem hodnot. A také ne pro každý HW je k dispozici vhodný ovladač. Výhodou je, že program můžete spustit jako démona a klienti se k němu připojují. Můžete tak sdílet naučené hodnoty mezi více počítači. A klient může běžet i na poměrně nevýkonných strojích.

bitcoin_skoleni

pwrkap

pwrkap.source­forge.net/, 7.20, GPLv2

Bash

Po téměř pěti letech vyšla významná verze Bashe. Je tam spousta drobných novinek: např. pokud zapnete volbu autocd, tak pokud zadáte cestu k adresáři jako příkaz (tj. $0), tak se provede cd do daného adresáře. Dále je k dispozici command_not_fou­nd_handle háček, který umožní fungovat programu command-not-found a jemu podobným. Na druhou stranu pokud používáte program Bash Completion – což doporučuji, ten si s novým bashem zatím nerozumí.

Autor článku

Autor pro Root.cz psal převážně Softwarové sklizně. Dnes je zaměstnán ve firmě Red Hat, kde se věnuje vývoji nástrojů pro správce balíků.