Softwarová sklizeň (24. 5. 2000)

24. 5. 2000
Doba čtení: 8 minut

Sdílet

Pravidelná sonda do světa (převážně) Open Source softwaru.
Úterý 23. 5.

Přidávání nových virtuálních serverů je celkem úmorná práce. Začíná to nastavením DNS, pak je třeba nakonfigurovat web server, přidat uživatele, nastavit FTP přístup, elektronickou poštu a bůhvíco ještě. Některé z těchto kroků by měl usnadňovat program Electric Death Ferret. Nejde vlastně o jeden program, ale o démona napsaného v Perlu a PHP3 rozhraní k němu. Společně pak automatizují přidání virtuálního serveru do Apache (s nastavením CGI, SuExecu, atd.), nastavení FTP (pouze pokud používáte ncftpd) a DNS (primární i sekundární). Kromě toho lze přes EDF přidávat i systémové uživatele („plnohodnotné“ a „email-only“ včetně podpory pro sendmailové aliasy). Pokud se rozhodnete něco podobného používat, nezapomeňte důkladně zabezpečit přístup ke konfiguračnímu rozhraní! Optimální je omezení přístupu na konkrétní IP adresu – nejlépe na 127.0.0.1 a přistupovat na rozhraní přímo z inkriminovaného počítače přes tuto adresu. Jistota je jistota.
Tvorba většího množství MP3 souborů může být poněkud zdlouhavá záležitost. Pokud máte k dispozici více počítačů zapojených v síti, můžete však tuto činnost výhodně paralelizovat, například s programem Empegify, který, zjednodušeně řečeno, umožňuje, aby například jeden počítač stahoval hudbu z CD, několik dalších ji komprimovalo do MP3 formátu a výsledné soubory aby se ukládaly třeba na firemní server.
NetSaint je propracovaný monitorovací program, jehož konfigurace ovšem není triviální. A z toho plyne, že se hned několik vývojářů rozhodlo pracovat na pohodlném konfiguračním rozhraní. Kromě tuším dvou specializovaných CGI rozhraní se nyní objevil také modul pro stále populárnější konfigurační nástroj Webmin. Aktuální verze plně podporuje všechny konfigurační direktivy NetSaintu 0.0.5.

Pondělí 22. 5.
PHP 4.0 je na světě. Pro případ, že by někdo nezaznamenal, jaké jsou nejdůležitější změny proti verzi 3.0 (což nepředpokládám), podotýkám, že nejdramatičtějšího vylepšení doznal „vnitřek“ – pod kapotou PHP teď tluče mnohem výkonnější srdce s názvem Zend. Zlepšila se také přenositelnost na další operační systémy i web servery.
GNU find je mocná utilitka pro hledání souborů a určitě by nebylo fair odepírat ji uživatelům, kteří se nekamarádí s příkazovou řádkou. Ačkoliv u zkušených harcovníků vyvolá program gnome-find spíše pohrdání, mezi začátečníky a klikaři (od slova klikat, nikoliv klika :) si toto grafické rozhraní k findu určitě najde mnoho příznivců.
Funkci printf a její příbuzné najdete snad v úplně každém céčkovém programu. Bohužel, na různých systémech lze ve jejich funkčnosti pozorovat jisté drobné odlišnosti. To rozčilovalo několik programátorů do té míry, že vytvořili vlastní portabilní implementaci zmíněných funkcí a výsledek své práce nazvali Trio.

Neděle 21. 5.
Zájemci mají dnes už možnost provozovat i vlastní Napster server. Další implementace serverové části, tentokrát v Javě, se jmenuje JNerve. Data o uživatelích jsou ukládány v obyčejném souboru, takže je tento program asi opravdu zcela platformně nezávislý. Tak neváhejte a instalujte, za nějaký ten rok pak budete moci potomkům vyprávět, „jaké to bylo když jste se osobně setkali s Metallicou – u soudu“ :)
Window manager IceWM si získal na oblibě, neboť je vizuálně pěkný, relativně malý a nenáročný a navíc i Gnome-kompatibilní. Proto je pochopitelné, že pro něj vznikají také různé pomocné utilitky, jako je například menu editor IceMe. Mezi jeho přednosti patří zejména podpora drag and drop a funkcí pro kopírování/vy­řezávání/vklá­dání menu či celých větví, náhledový dialog pro výběr ikonek, editace třech základních menu (hlavní, programy, toolbar) a to jak v uživatelské, tak v globální části.
Pod názvem DBUI se ukrývá rozhraní pro práci s SQL servery. Momentálně podporuje jenom s MySQL a mSQL a umožňuje prohlížet či upravovat databáze, vykonávat libovolné dotazy a případně si definovat i tzv. Views, tedy předdefinované dotazy, jejichž výsledky pak lze jednoduše prohlížet, mazat či upravovat.
První Open Source OCR program, který jsem potkal se jmenuje GOCR a má původ v Německu. Musím říct, že ačkoliv jsem ho testoval jenom krátce, působí na mě program velice dobře. Pozor, pokud budete GOCR považovat za finální produkt, přivodíte si asi zklamání, ale několik testů mě přesvědčilo, že obsahuje solidní algoritmy a dává celkem pěkné výsledky i pro různě velká písma v různých fontech. Horší je to s podporou češtiny, ale doufejme, že vzhledem k evropskému původu nebude problematika národních znakových sad ignorována, tak jak tomu nezřídka bývá u programu z americké provenience.

Sobota 20. 5.
Pro malé systémy je určen balíček diet libc. Jde o značně zeštíhlenou implementaci libc knihovny, která slouží k vytváření malých, staticky linkovaných programů pro malé distribuce nebo třeba „embeded“ systémy. Na domovské stránce knihovny najdete i seznam funkcí, které obsahuje – jsou mezi nimi i síťové služby.
Drall je další webové rozhraní pro práci se soubory, tentokrát ovšem ve dvoupanelovém uspořádání a`la Midnight Commander. Program umožňuje kopírování, přejmenování, mazání, upload souborů, filtry dle koncovek atd. Skripty jsou napsané v Perlu.
Chcete mít naservírované přehledy z vašich oblíbených zpravodajských serverů každé ráno doslova pod nos? Pak potřebujete shell skript HtmlHeadLine. Ten s pomocí lynxu, awku a také Perlu dokáže stahovat a zpracovávat novinky ze 78 serverů a generovat z nich HTML stránky, ze kterých se pak už dostanete přímo na zvolený článek.
Pro kopírování dat mezi různými počítači se na un*xech obvykle používají programy rcp nebo scp. Pokud by právě ve vaší situaci nebylo možné použít ani jeden z nich, máte ještě další možnost – program fcp, který pracuje nad FTP protokolem. Jeho velkou výhodou je, že používá stejnou syntaxi přepínačů a argumentů, jako scp či rcp.

Pátek 19. 5.
FreeWRL je Open Source VRML prohlížeč, který klade zejména důraz na podporu externího ovládání takřka libovolným hardwarem nebo programem (Java, JavaScript). Zajímavé jsou ale i další funkce, jako například možnost programovatelného ukládání obrázků VRML světa ve stanoveném čase a pozici (tak lze vytvářet třeba i animace), šest stupňů volnosti (ve stylu Descenta) či podpora TrueType fontů. Prohlížeč je z větší části napsán v Perlu a pro rendering používá OpenGL.
Jeden z těch podařenějších grafických souborových manažerů je ROX-Filer. Zřejmě nebude vyhovovat všem – hlavně těm, kdo očekávají něco ve stylu Explorera z Windows, ale naopak by se mohl líbit tomu, kdo si navykl pracovat s více okny s jednotlivými adresáři. Co do funkcí je na tom ROX-Filer opravdu dobře – umí například rychle načítat rozsáhlé adresáře neblokujícím způsobem, dlouhotrvající souborové operace (kopírování, mazání, …) mohou probíhat v pozadí, funkce pro vyhledávání souborů podporuje i konstrukce typu „soubor modifikovaný před více něž třemi dny větší než 10MB“, lze připojovat a odpojovat disky pouhým klepnutím na mount-point, podporuje drag and drop (XDND) pro kopírování, přesouvání, načítání a dokonce i ukládání souborů a s pomocí virtuálních souborových systémů lze procházet třeba komprimované archívy. Vše se nastavuje pohodlně přímo v programu a každá položka menu může mít přiřazenou volitelnou klávesovou zkratku. Navíc program obsahuje i okno pro ruční změnu adresáře či spouštění povelů s podporou doplňování pomocí tabulátoru.
Že i window manager lze napsat v Perlu, o tom svědčí projekt perlwm. Otázkou je, jestli je to dobrý nápad :)

Čtvrtek 18. 5.
O tom, že i relativně jednoduchou věc, jako je dvoubodový chat, je možné vylepšovat, svědčí prográmek CloudChat – umožňuje totiž kromě obyčejné textové komunikace využít i kreslící plochu. Co u sebe myší načrtnete, to se objeví na obrazovce i vašemu protějšku. Až vám tedy dojdou slova, můžete sáhnout ke grafickému vyjádření :)
Na světě je další vývojové prostředí pro Javu. Jmenuje se J.O.O.D.A, neboli Java Object Oriented Development Application, a potěší zejména příznivce vývojového prostředí Envy/Developer pro Smalltalk. J.O.O.D.A je poměrně mladý projekt, ale už teď obsahuje zajímavé funkce, jako například dynamické vykonávání kódu, editaci na úrovni souborů nebo tříd či správu projektů. Samozřejmostí je dnes už podpora zvýraznění syntaxe v editoru atd. Program sám je rovněž napsaný v Javě a prý určitě funguje na Linuxu a ve Windows98.
A teď zase jedna věcička, která spíše potěší oko, než že by byla nepostradatelná. Applet pro Window Maker wmCube je monitor vytížení procesoru, který místo strohých čísel vyjadřuje naměřenou hodnotu rychlostí rotace 3D objektu. Čím vytíženější je váš procesor, tím rychleji (nebo pomaleji, podle nastavení) se objekt otáčí. Poslední verze umožňují vytvářet vlastní objekty pomocí jednoduchého textového formátu, pár hezkých objektů je také přiloženo. Zajímavá je možnost vybrat si na víceprocesorovém systému CPU, které bude monitorováno – můžete si tak třeba nechat rotovat pro každý procesor jiný objekt.

ict ve školství 24

Středa 17. 5.
Knihovna mpatrol je určena pro programátory v C nebo C++, kteří si chtějí usnadnit práci s laděním chyb v práci s dynamickou pamětí. Pokud si mpatrol přidají do svého projektu (ať už pomocí statického nebo dynamického linkování), budou všechny problematické operace zaznamenávány do zvláštního souboru pro pozdější analýzu. Chování knihovny lze ovlivnit pomocí proměnných prostředí, takže není třeba vždy laděný program znovu kompilovat či linkovat.
V Perlu napsaný CGI skript Soupermail je určen pro odesílání obsahu HTML formulářů na jednu nebo více emailových adres. Některé jeho vlastnosti jsou opravdu unikátní, posuďte sami: odeslaný email může být zašifrován pomocí PGP/GPG, formulář může obsahovat položku typu file, Soupermail zvládá upload a soubor přiloží ke zprávě jako MIME přílohu, dokáže generovat PDF soubory. Obsah formuláře může být ukládán i do souboru, skript umí odesílat předem připravenou odpověď uživateli, který formulář vyplnil či formátovat zprávu podle HTML nebo textových šablon. A to není ani zdaleka všechno.
BeeCrypt je knihovna funkcí pro silnou kryptografii šířená pod licencí LGPL. Obsahuje mimo jiné dva generátory pseudonáhodných čísel (včetně zdrojů entropie), blokovou šifru Blowfish (optimalizovanou pro procesory Pentium, údajně až o 30% rychlejší, než jiné implementace), hashovací algoritmus SHA-1 či podporu elektronických podpisů (algoritmus ElGammal). V budoucnu přibude také podpora dalších blokových šifer (Twofish, Rijndael), hashovací funkce RIPEMD-160 či HAVAL, a také podpora eliptických křivek (ECDSA). Řekl bych, že se tu rýsuje další velice zajímavý otevřený projekt v oblasti silné kryptografie.

A to je pro dnešek vše…

Autor článku