Hlavní navigace

Softwarová sklizeň (2. 8. 2000)

2. 8. 2000
Doba čtení: 10 minut

Sdílet

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

Úterý 1. 8.
Nadmíru užitečným se zdá být program KFontinst. Jde o grafickou utilitku, která usnadňuje instalaci nových fontu. Nejzajímavější je na ni ale to, že instaluje fonty pro různá prostředí, konkrétně pro X11, GhostScript, StarOffice a AbiWord (generování AFM souborů). Jelikož v používání fontů panuje lehký zmatek, může KFontinst značně usnadnit život nejenom začátečníkům.
Utk, nebo-li Universal Toolkit, je perlový modul, který umožňuje psát GUI aplikace pro různá prostředí bez nutnosti měnit kód. Momentálně program beze změn může běžet pod KDE, GNOME a dokonce i v HTML (tady už ale asi možnosti budou poněkud omezenější). Zajímavá myšlenka, ovšem je otázkou, jestli lze zastřešit natolik odlišná prostředí, aniž by došlo k výraznému okleštění jejich individuálních možností, a jestli vynaložené úsilí odpovídá konečnému efektu.
O systému Jabber pro komunikaci mezi uživateli ve stylu ICQ, AIM atd. jsem zde již psal. Dnes již existuje několik klientů pro různé platformy, přičemž pro Linux a GNOME je to například Gabber. Klient umožňuje jak posílat zprávy, tak chatovat (one-on-one i ve skupinách), podporuje navíc i zmíněné ICQ a AIM (přes transportní vrstvu Jabberu), a to jak z hlediska přihlášení se do systému (aby vás viděli ostatní), tak z hlediska posílání zpráv. Nevýhodou je poměrně velké množství potřebných knihoven, ale jinak je Gabber docela pěkný klient.

Pondělí 31. 7.
Program pixlog slouží k logování zpráv úrovně info z Cisco PIX firewallu. Program data, která přicházejí, rovnou parsuje a posléze z nich dokáže vytvořit poměrně přehlednou statistiku ve formátu HTML.
Populární hra Asteroids se dočkala již desítek ne-li stovek různých implementací. Jsou verze pro un*xy, pro Windows, pro Apply, pro všemožné kapesní počítače, Gameboye, herní konzole, zkrátka Asteroids, podobně jako třeba Tetris nebo Solitaire, si zahrajete snad úplně na čemkoliv. Pro případ, že jste se svým prvním počítačem setkali teprve včera, jenom krátký popis: v omezeném prostoru se na vás valí více či méně asteroidů, které musíte likvidovat. Každý z nich se po zásahu rozdělí na několik menších „šutříků“ a ty zase na menší až konečně zanikají. Pochopitelně se jim musíte také vyhýbat. No a tímto delším úvodem jsem se dostal ke hře Asteroids3D, která přináší do hry jeden nový prvek, a to je (světe, div se) 3D prostor. Vše ostatní zůstává při starém, jenom si musíte víc hlídat záda :) Hra potřebuje k provozu OpenGL.
Pod názvem kernelcookies se ukrývá soubor „obskurních a zábavných hlášek jádra“ (konec citátu). Můžete se tak nechat oblažovat průpovídkami typu „neplatný formát CD, otravujte výrobce!“ nebo „Po několika hodinách úmorného analyzování tato hashovací funkce zvítězila. Vykašlete se na ni.“, ovšem pochopitelně v angličtině.
Knihovna libsx je jednoduchý wrapper, který umožňuje psaní GUI programů nad knihovnou Athena, ovšem bez nutnosti znát interní záležitosti X11. Výhodou tohoto řešení je, že výsledná aplikace by si měla zachovat hardwarovou nenáročnost, přičemž vlastní vývoj se podstatně zjednoduší a zrychlí.
Kombinací trackeru a sequenceru je program Shake Tracker. Různé trackery byly inspirací pro jeho prostředí (klávesové zkratky jsou kompatibilní s Impulse Trackerem), ale uvnitř je to čistokrevný MIDI sequencer s funkcemi jako je realtimová editace či bank editor, který navíc emuluje i z trackerů známé efekty, jako je tremolo, pitch slide apod.

Neděle 30. 7.
RoadRunner/pk je Open Source operační systém, který je cílený na malá zařízení, jako jsou PDA a různé embedded systémy. Jeho klíčové vlastnosti jsou: práce v reálném čase, vícevláknová architektura, jediný adresní prostor s ochranou paměti a rychlé IO operace. Systém je jednouživatelský (konec konců na PDA není zrovna potřeba superuživatel a běžný uživatel :) a na grafickém rozhraní se teprve začíná zvolna pracovat. Ale nezajímavý rozhodně RoadRunner není.
Zatímco uložit obrazovku v X11 není žádný problém, s alternativními metodami provozu grafických aplikací je to horší. Sejmutí obrazovky aplikace používající SVGAlib nebo linuxový frame buffer je přinejmenším komplikované. Nebo alespoň v případě frame bufferu bylo, neboť teď by to mělo jít velmi jednoduše pomocí prográmku fbshot. Ten si poradí sice jenom s 24– nebo 32-bitovými režimy, ale to by snad nemuselo v dnešní době příliš vadit. Výsledek se ukládá ve formátu PNG.
Pokud máte, jako já, problémy zapamatovat si, co všechno máte udělat, potřebujete něco, jako je ToDoList.php. Název prozrazuje, že jde o klasický ToDo list (český překlad mě nenapadá, snad jedině úkolovník :), implementovaný v tomto případě v PHP. Jednotlivé úkoly mohou mít různou prioritu, lze jim přiřazovat datum splnění, případně i osobu, která se jich má zhostit a pochopitelně lze i dokončené úkoly mazat. Netřeba podotýkat, že budete potřebovat webový prohlížeč.
Ani k provozu SMS služeb nepotřebujete dnes komerční software. Můžete použít například SMS Server Tools, což je aplikace, která umožňuje využívat jeden nebo více GSM modemů ke čtení či odesílání SMS zpráv. Tak lze realizovat například různé SMS služby (jako je třeba Paegas Info), brány (email->SMS či naopak, …) či rozhraní pro odesílání SMS zpráv z webu (nebo třeba telnetu, na tom už v podstatě nesejde :). Pokud používáte více GSM modemů, umí systém inteligentně používat ten, přes nějž je poslání v danou chvíli nejlevnější, což jistě také není k zahození.

Sobota 29. 7.
Pro mnohé vývojáře bude jistě zajímavé, že se objevila nová knihovna pro zpracování (parsing) HTML dokumentů. Jmenuje se poněkud prozaicky libhtmlparse a její rozhraní je založeno na principu callback funkcí, což je asi jednodušší, než budovat nějaký strom, ale zase se hůře řeší věci, jako třeba paměťová cache pro preparsované stránky. Nicméně čistě z hlediska konverze HTML dokumentu do jiné formy nebo jeho jednoduchého zobrazení je podobné rozhraní většinou velmi dobře použitelné. Osobně se ale přiznám, že tam, kde je to jenom trochu možné (např. při tvorbě hypertextové nápovědy programu), bych dnes sáhl ke XML namísto HTML, neboť HTML připouští příliš mnoho nejednoznačností a rozumně jej parsovat je úkol takřka nadlidský.
Máme tu další Open Source SQL databázi a musím říct, že je zajímavá hned z několika důvodů. Její jméno je Hypersonic SQL a první, co mě zaujalo bylo, že je napsána v Javě. Druhou zajímavostí je její velikost – cca 100 KB (plus nějakých 15 nebo 20 MiB pro JVM :) a v neposlední řadě je to i funkčnost. HSQL totiž podporuje například transakce či konstrukce s JOIN, funguje autorizace jménem a heslem a lze jej používat dokonce i z appletů, používá se rozhraní JDBC (jak také jinak). HSQL není asi zrovna produkt, který by konkuroval Oraclu, Informixu či PostgreSQL, ale je to docela sympatická „databázička“, kterou lze využít při psaní javových aplikací, které ve reálu poběží třeba s některou ze zmíněných databází (díky JDBC to není problém).
Pod vznosným názvem HCP – Human Communication Protocol – se ukrývá nikoliv nezajímavý systém pro výměnu dat, který je ve své podstatě velmi podobný ICQ nebo AIM, ale liší se jednou důležitou věcí. Jde o implementaci nosného protokolu, nad nímž lze budovat různé služby. S HCP si můžete posílat textové zprávy stejně jako binární soubory nebo audio či video signál. Lze s ním chatovat v reálném čase či kreslit na sdílenou virtuální tabuli. Zkrátka cokoliv vás napadne by mělo být řešitelné přidáním patřičného modulu. Server i klientská aplikace jsou napsané v Javě.

Pátek 28. 7.
V kolébce SGI přišlo na svět několik zajímavých věcí, které se dnes běžně používají jak na všemožných un*xech, tak i na jiných operačních systémech. Mezi ně patří například OpenGL. A OpenGL, to jsou i přidružené knihovny, jako je třeba GLC pro rendering znaků, čili textu. Projekt Mesa-GLC se snaží portovat (nebo lépe řečeno reimplementovat) rozhraní této knihovny i mimo IRIX a to v Open Source podobě (LGPL).
A zase jsem našel jednu cestu k provozování Slashdot-like serveru. Jmenuje se WaddleSoft Message Board. Kromě té nejzákladnější funkce, což je pochopitelně přidávání příspěvků (či článků, chcete-li) a s tím související provoz diskuzních fór, nabízí také vyhledávací engine, ankety, registrace uživatelů atd. WSMB je napsaný v PHP, takže by měl být relativně snadno použitelný a (v případě potřeby) i upravitelný.
Pokud používáte pro vedení svých financí na cestách PocketMoney for PalmOS, možná závidíte windowsákům či jablíčkářům možnost synchronizace se stolním počítačem. Už nemusíte, protože je tu program pm2qif, která slouží ke konverzi databáze PocketMoney na Quicken Interchange File, což je de facto standard pro přenos dat mezi finančními aplikacemi. Mimo jiné si s ním poradí i zřejmě nejznámější Open Source program této kategorie, GNUCash. Utilitka je napsána v Perlu.
Díky modulární architektuře může program GKrellM monitorovat všechno možné. Mimo jiné od nynějška i výpočty úkolů v síti Distributed.net (to je něco jako SETI@Home, ale obecnější, každou chvíli se louská něco jiného). K tomuto účelu si stačí stáhnout modul GKrellDnet a pak již krásně a přehledně vidíte, jak probíhá zpracování a kolik dalších bloků ke zpracování čeká ve frontě. Kromě toho lze výpočet jediným kliknutím spouštět a zastavovat.

Čtvrtek 27. 7.
Se zajímavou myšlenkou přišel projekt Tomahawk. Jde totiž o spojení HTTP serveru Apache s objektovou cache Squida. Výsledkem je, že opakovaně požadované dokumenty se vrací z paměťově cache, což by mělo přinést znatelné zvýšení výkonu serveru. V praxi bude mít podobný mechanismus efekt pravděpodobně jenom tam, kde opravdu velké množství požadavků půjde na relativně mnoho jednotlivých dokumentů (samozřejmě je třeba, aby požadavků bylo řádově více, než dokumentů). Pokud je většina požadavku směřována na několik málo souborů, splní nejspíš stejnou službu systémová disková cache.
Pro případ, že by vás zajímalo, jaké to je být klingonským programátorem, můžete se zkusit naučit jazyk var'aq. Tento jazyk vychází svou logikou z RPN a je tedy podobný třeba Lispu. Zvláštní na něm je, že má dvě verze: s klíčovými slovy v angličtině a klingonštině. Co se mě týká, tak Lisp a jemu podobné jazyky považuji za něco, co dosahuje pozoruhodného stupně nepochopitelnosti a při použití klíčových slov v klingonštině to musí být opravdu chuťovka :)
Skriptík PHPXref může být velmi užitečnou pomůckou pro všechny programátory PHP projektů (zejména těch rozsáhlejších). Dokáže totiž „přechroustat“ PHP zdrojové kódy, vygenerovat křížové odkazy mezi funkcemi, proměnnými a SQL tabulkami, takže lze pak velmi snadno zdrojáky procházet a odkazovat se na definice různých symbolů. Výhodou může být i fakt, že skript generuje obyčejné HTML soubory, které lze prohlížet i offline, bez HTTP serveru. V krajním případě si tak lze představit třeba i možnost, že si zdrojáky vezmete ke studiu například na cesty v nějakém palmtopu či PDA.

root_podpora

Středa 26. 7.
V podstatě jako alternativu ke grafickému VNC lze chápat projekt vtgrab. Jde o systém pro vzdálené ovládání textovou konzole, který by měl ale narozdíl od SSH nebo telnetu pracovat se skutečnou konzolí, nikoliv s alokovaným pseudoterminálem.
VU Leds je plugin pro multimediální přehrávač XMMS, který promění LED diody na vaší klávesnici ve VU meter. Přiznám se, že sám nevím, co se pod tímto termínem skrývá, ale předpokládám, že jde takový ten ukazatel úrovně nahrávky, který najdete prakticky na každé dnešní pseudo-hifi věži (pokud možno tak ve třiceti neonových barvách).
Tuším, že již druhým Open Source systémem pro provoz online aukce, o kterém se zde zmiňuji, je Apartia Free Auction System. Aukci, která je napsána s využitím aplikačního prostředí Mason, můžete vidět v praxi i na domovské stránce projektu, ovšem momentálně je jaksi mimo provoz (snad to bude v době, kdy čtete tento článek už v pořádku). Mohu tedy zmínit snad jenom cíle, které si autoři kladou. Za podstatné považuji, že jednou z priorit je od počátku plná podpora internacionalizace a více jazykových verzí a zajímavá je i předpokládaná modulární struktura umožňující používat i jiné, než webové rozhraní.
Zřejmě prvním nativním WAP (nebo spíše WML) prohlížečem pro Linux a další unxy je wApua. Poradí si se specifikacemi 1.1 i 1.2, ovšem bez podpory obrázků a formulářů. Bez problémů by si měl poradit například s tabulkami či šablonami. Program je napsán v Perlu a Tk, což by mohlo znamenat, že bude fungovat i ve Windows.
I na un
xech lze programovat v Basicu, a to například v podobě interpretovaného jazyka ScriptBasic, který disponuje některými zajímavými vymoženostmi. Tou první je možnost přidat interpret do své aplikace a používat Basic jako makro jazyk. Další zajímavé aspekty se týkají práce interpretu. Jednak umožňuje generovat bajtový kód, který se načítá a spouští o poznání rychleji, a jednak lze zkonvertovat tento bajtový kód do céčkového zdrojáku, který po kompilaci a slinkování s přiloženou knihovnou vytvoří samostatně použitelnou binárku.

A to je pro dnešek vše…

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

Autor článku