Obsah
- ScummVM (hry)
- SkunkWeb (web)
- Davenport (komunikace)
- Application Layer Packet Classifier for Linux (síťování)
- Schrödinger (vývoj)
- SHFS (komunikace)
- Synergy (ovládání)
- JSGraphics (grafika)
Nostalgie je asi vývojářům otevřeného softwaru vlastní, neboť počet projektů, které se zabývají oživením prastarých projektů, a to zejména her, není tak úplně malý. Možná je to ale dobře, protože jde zpravidla o opravdovou klasiku, která si nezaslouží zmizet v propadlišti dějin. Do této kategorie spadá i projekt ScummVM, což je implementace interpretu schopného spouštět některé starší hry hned několika firem. Název je odvozen od zkratky S.C.U.M.M. (Script Creation Utility for Maniac Mansion), což byl engine společnosti LucasArts, nad kterým byly napsány takové trháky, jako třeba Monkey Island, Indiana Jones či Day Of The Tentacle. Tím ovšem možnosti ScummVM nekončí, neboť současně se pracuje na interpretech her Beneath a Steel Sky od Revolution Software (ta ale zatím není hratelná) a Simon the Sorcerer 1/2 od AdventureSoftu. Ne každá hra už funguje na sto procent, ale projekt prochází bouřlivým vývojem, takže se neustále vylepšuje. Pokud vás zajímá, jak je na tom zrovna váš oblíbený herní titul, doporučuji nahlédnout do tabulky kompatibility. Za zmínku ještě stojí fakt, že ScummVM je dostupný (samozřejmě kromě zdrojových kódů) nejen v linuxové verzi, ale také například pro MacOS X, Windows, Solaris, herní konzoli Sega Dreamcast a dokonce i kapesní počítače s WinCE i PalmOSem.
SkunkWeb je celkem zajímavý webový aplikační server postavený kompletně na programovacím jazyce Python. Je založený na principu komponent o jejichž vnější prezentaci se stará integrovaný šablonovací systém. SkunkWeb je údajně vhodný i na vytíženější servery, kde se uplatní jeho schopnost kompilovat šablony do bajtového kódu Pythonu a zejména mocný kešovací systém. Ten je schopen udržovat buď na disku nebo v paměti jak zkompilované šablony, tak i výstup jednotlivých komponent a výrazně tak zrychlit generování odpovědí. V případě keše umístěné na disku lze dokonce její obsah i sdílet mezi více servery. Zajímavá je také schopnost volat vzdálené komponenty umístěné na jiném serveru. Programátor píšící aplikace pro SkunkWeb si může vybrat, zda bude komponenty vytvářet přímo v Pythonu a nebo ve speciálním jazyce STML. Za zmínku také stojí dobrá podpora katalogů hlášek, které umožňují relativně snadno vytvářet vícejazyčné weby.
Davenport je velmi zajímavá brána, která dokáže zprostředkovat přístup k diskům sdíleným přes SMB pomocí protokolu WebDAV. V praxi to znamená, že s jeho pomocí a při použití HTTPS můžete například umožnit přístup ke sdíleným diskům v privátní síti s přijatelnou úrovní bezpečnosti bez nutnosti implementovat komplikovanější (i když univerzálnější) řešení, jako jsou například VPN. Na straně uživatele lze používat libovolného WebDAV klienta (ti existují pro většinu platforem), což umožňuje v zásadě velmi komfortní práci. Davenport lze použít i s obyčejným webovým prohlížečem, ovšem pak je funkčnost omezena pouze na stahování souborů ze sdílených disků.
Pod názvem Application Layer Packet Classifier for Linux (nebo též Layer-7 Packet Classifier) se rodí další velmi zajímavý projekt. Jeho autoři si kladou za cíl vytvořit mechanismus klasifikace paketů na aplikační úrovni. Jinak řečeno, s jeho pomocí by mělo být možné například omezit přenosovou kapacitu pro konkrétní aplikační protokol (řekněme třeba HTTP či FTP) nezávisle na tom, na jakém portu se komunikace odehrává. Projekt sestává ze tří částí. Patch jádra přidává podporu klasifikace paketů. Aby jádro dokázalo rozpoznat konkrétní protokoly potřebuje databázi identifikačních prvků, která se mu předává přes /proc. A konečně je tu patch programu tc, který rozšiřuje jeho syntaxi o možnost specifikovat konkrétní protokoly.
S výstižným podtitulem Tomcat in a Box uvedla německá společnost Micromata na trh freewarový nástroj usnadňující vývoj webových aplikací s JSP nazvaný nepříliš libozvučně Schrödinger. Základem je Tomcat vybavený GUI rozhraním, které umožňuje především detailně sledovat dění při HTTP požadavku a zpracování JSP dokumentu. To může odhalit chyby (například nesprávné či chybějící hlavičky), ale také třeba úzká hrdla aplikace, respektive nejpomalejší JSP stránky. Schrödinger je možné použít samostatně i pro týmovou práci a ve Windows jej lze integrovat s některými oblíbenými webovými editory, jako je například Dreamweaver či GoLive.
Z českých luhů a hájů pochází jaderný modulSHFS, který umožňuje připojit vzdálený souborový systém přístupný přes shellové připojení (typicky buď rsh a nebo raději ssh). SHFS obsahuje několik mechanismů, které se snaží urychlit práci se vzdálenými soubory, mezi nimiž nechybí bufferování čtení a zápisů, adresářová keš a podobně. Zajímavý je také mechanismus platformně závislých optimalizací, které například výrazně zrychlují zápis, pakliže na straně serveru běží Linux.
Pracujete na více počítačích, které mají své vlastní monitory, ale už ne myši a klávesnice? Pak potřebujete Synergy. Tento projekt umožňuje právě zmíněné periférie sdílet mezi více systémy, a to velmi jednoduchým způsobem – stačí posunout kurzor myši jakoby „za hranu“ obrazu a Synergy automaticky přesměruje události z vaší myši a klávesnice na další počítač v řadě. Už to samo o sobě je skvělé, ale tento program má v rukávu ještě další trumfy. Naprosto skvělá funkce je sdílení clipboardu. Možnost kopírovat a vkládat text napříč systémy jistě ocení každý, kdo například konfiguroval jeden počítač podle druhého – sám jsem si mnohokrát něco automaticky nabral do schránky a pak se divil, že to na druhém počítači nejde vložit :) Ale ani to ještě není vše – Synergy totiž dokáže také synchronizovat šetřiče obrazovky a umožňuje odemčení všech počítačů zadáním jediného hesla. S trochou nadsázky by se dalo říci, že kdyby v budoucnu přibyla podpora zobrazování na jediném monitoru, výrobci hardwarových přepínačů by mohli zavřít krám :) Synergy podporuje unixové systémy a Windows.
Blbinka týdne
Obrázek v počítači, to je jenom dvourozměrný rastr s body různých barev. Tak proč by se nedal takový rastr vytvořit přímo s pomocí buněk tabulky v HTML? To si řekl autor javascriptové knihovnyJSGraphics, která umožňuje právě tímto způsobem generovat jednoduchou grafiku na požádání. Je libo kreslit body, čáry či kruhy? Chcete interaktivní obrázky, které reaguji na uživatelovi akce? Chcete umisťovat grafiku tam, kde jsou obrázky zakázané? Pak je pro vás JSGraphics to pravé. Fotografii asi takhle nevytvoříte, ale pro jednoduché věci to v zásadě postačuje. Výhodou je mimo jiné to, že uživatel stahuje relativně krátký kód, neboť vlastní HTML tabulky se vygenerují pomocí JavaScriptu až na klientské straně. Aby se prohlížeči poněkud ulevilo, implementuje JSGraphics jednoduchou „RLE kompresi“ – sousedící body stejné barvy jsou generovány jako jediná buňka rozšířená na patřičnou délku atributem COLSPAN.
A to je pro dnešek vše…